Quantization step sizes for compression of spatial components of a sound field

ABSTRACT

In general, techniques are described for determining quantization step sizes for compression of spatial components of a sound field. A device comprising one or more processors may be configured to perform the techniques. In other words, the one or more processors may be configured to determine a quantization step size to be used when compressing a spatial component of a sound field, where the spatial component generated by performing a vector based synthesis with respect to a plurality of spherical harmonic coefficients.

This application claims the benefit of U.S. Provisional Application No.61/828,445 filed 29 May 2013, U.S. Provisional Application No.61/829,791 filed 31 May 2013, U.S. Provisional Application No.61/899,034 filed 1 Nov. 2013, U.S. Provisional Application No.61/899,041 filed 1 Nov. 2013, U.S. Provisional Application No.61/829,182 filed 30 May 2013, U.S. Provisional Application No.61/829,174 filed 30 May 2013, U.S. Provisional Application No.61/829,155 filed 30 May 2013, U.S. Provisional Application No.61/933,706 filed 30 Jan. 2014, U.S. Provisional Application No.61/829,846 filed 31 May 2013, U.S. Provisional Application No.61/886,605 filed 3 Oct. 2013, U.S. Provisional Application No.61/886,617 filed 3 Oct. 2013, U.S. Provisional Application No.61/925,158 filed 8 Jan. 2014, U.S. Provisional Application No.61/933,721 filed 30 Jan. 2014, U.S. Provisional Application No.61/925,074 filed 8 Jan. 2014, U.S. Provisional Application No.61/925,112 filed 8 Jan. 2014, U.S. Provisional Application No.61/925,126 filed 8 Jan. 2014, U.S. Provisional Application No.62/003,515 filed 27 May 2014, and U.S. Provisional Application No.61/828,615 filed 29 May 2013 the entire content of each which areincorporated herein by reference.

TECHNICAL FIELD

This disclosure relate to audio data and, more specifically, compressionof audio data.

BACKGROUND

A higher order ambisonics (HOA) signal (often represented by a pluralityof spherical harmonic coefficients (SHC) or other hierarchical elements)is a three-dimensional representation of a soundfield. This HOA or SHCrepresentation may represent this soundfield in a manner that isindependent of the local speaker geometry used to playback amulti-channel audio signal rendered from this SHC signal. This SHCsignal may also facilitate backwards compatibility as this SHC signalmay be rendered to well-known and highly adopted multi-channel formats,such as a 5.1 audio channel format or a 7.1 audio channel format. TheSHC representation may therefore enable a better representation of asoundfield that also accommodates backward compatibility.

SUMMARY

In general, techniques are described for compression and decompressionof higher order ambisonic audio data.

In one aspect, a method comprises obtaining one or more first vectorsdescribing distinct components of the soundfield and one or more secondvectors describing background components of the soundfield, both the oneor more first vectors and the one or more second vectors generated atleast by performing a transformation with respect to the plurality ofspherical harmonic coefficients.

In another aspect, a device comprises one or more processors configuredto determine one or more first vectors describing distinct components ofthe soundfield and one or more second vectors describing backgroundcomponents of the soundfield, both the one or more first vectors and theone or more second vectors generated at least by performing atransformation with respect to the plurality of spherical harmoniccoefficients.

In another aspect, a device comprises means for obtaining one or morefirst vectors describing distinct components of the soundfield and oneor more second vectors describing background components of thesoundfield, both the one or more first vectors and the one or moresecond vectors generated at least by performing a transformation withrespect to the plurality of spherical harmonic coefficients, and meansfor storing the one or more first vectors.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to obtain one or more first vectors describing distinctcomponents of the soundfield and one or more second vectors describingbackground components of the soundfield, both the one or more firstvectors and the one or more second vectors generated at least byperforming a transformation with respect to the plurality of sphericalharmonic coefficients.

In another aspect, a method comprises selecting one of a plurality ofdecompression schemes based on the indication of whether an compressedversion of spherical harmonic coefficients representative of a soundfield are generated from a synthetic audio object, and decompressing thecompressed version of the spherical harmonic coefficients using theselected one of the plurality of decompression schemes.

In another aspect, a device comprises one or more processors configuredto select one of a plurality of decompression schemes based on theindication of whether an compressed version of spherical harmoniccoefficients representative of a sound field are generated from asynthetic audio object, and decompress the compressed version of thespherical harmonic coefficients using the selected one of the pluralityof decompression schemes.

In another aspect, a device comprises means for selecting one of aplurality of decompression schemes based on the indication of whether ancompressed version of spherical harmonic coefficients representative ofa sound field are generated from a synthetic audio object, and means fordecompressing the compressed version of the spherical harmoniccoefficients using the selected one of the plurality of decompressionschemes.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors of an integrated decoding device to select one of a pluralityof decompression schemes based on the indication of whether ancompressed version of spherical harmonic coefficients representative ofa sound field are generated from a synthetic audio object, anddecompress the compressed version of the spherical harmonic coefficientsusing the selected one of the plurality of decompression schemes.

In another aspect, a method comprises obtaining an indication of whetherspherical harmonic coefficients representative of a sound field aregenerated from a synthetic audio object.

In another aspect, a device comprises one or more processors configuredto obtain an indication of whether spherical harmonic coefficientsrepresentative of a sound field are generated from a synthetic audioobject.

In another aspect, a device comprises means for storing sphericalharmonic coefficients representative of a sound field, and means forobtaining an indication of whether the spherical harmonic coefficientsare generated from a synthetic audio object.

In another aspect, anon-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to obtain an indication of whether spherical harmoniccoefficients representative of a sound field are generated from asynthetic audio object.

In another aspect, a method comprises quantizing one or more firstvectors representative of one or more components of a sound field, andcompensating for error introduced due to the quantization of the one ormore first vectors in one or more second vectors that are alsorepresentative of the same one or more components of the sound field.

In another aspect, a device comprises one or more processors configuredto quantize one or more first vectors representative of one or morecomponents of a sound field, and compensate for error introduced due tothe quantization of the one or more first vectors in one or more secondvectors that are also representative of the same one or more componentsof the sound field.

In another aspect, a device comprises means for quantizing one or morefirst vectors representative of one or more components of a sound field,and means for compensating for error introduced due to the quantizationof the one or more first vectors in one or more second vectors that arealso representative of the same one or more components of the soundfield.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to quantize one or more first vectors representative of oneor more components of a sound field, and compensate for error introduceddue to the quantization of the one or more first vectors in one or moresecond vectors that are also representative of the same one or morecomponents of the sound field.

In another aspect, a method comprises performing, based on a targetbitrate, order reduction with respect to a plurality of sphericalharmonic coefficients or decompositions thereof to generate reducedspherical harmonic coefficients or the reduced decompositions thereof,wherein the plurality of spherical harmonic coefficients represent asound field.

In another aspect, a device comprises one or more processors configuredto perform, based on a target bitrate, order reduction with respect to aplurality of spherical harmonic coefficients or decompositions thereofto generate reduced spherical harmonic coefficients or the reduceddecompositions thereof, wherein the plurality of spherical harmoniccoefficients represent a sound field.

In another aspect, a device comprises means for storing a plurality ofspherical harmonic coefficients or decompositions thereof, and means forperforming, based on a target bitrate, order reduction with respect tothe plurality of spherical harmonic coefficients or decompositionsthereof to generate reduced spherical harmonic coefficients or thereduced decompositions thereof, wherein the plurality of sphericalharmonic coefficients represent a sound field.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to perform, based on a target bitrate, order reduction withrespect to a plurality of spherical harmonic coefficients ordecompositions thereof to generate reduced spherical harmoniccoefficients or the reduced decompositions thereof, wherein theplurality of spherical harmonic coefficients represent a sound field.

In another aspect, a method comprises obtaining a first non-zero set ofcoefficients of a vector that represent a distinct component of thesound field, the vector having been decomposed from a plurality ofspherical harmonic coefficients that describe a sound field.

In another aspect, a device comprises one or more processors configuredto obtain a first non-zero set of coefficients of a vector thatrepresent a distinct component of a sound field, the vector having beendecomposed from a plurality of spherical harmonic coefficients thatdescribe the sound field.

In another aspect, a device comprises means for obtaining a firstnon-zero set of coefficients of a vector that represent a distinctcomponent of a sound field, the vector having been decomposed from aplurality of spherical harmonic coefficients that describe the soundfield, and means for storing the first non-zero set of coefficients.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to determine a first non-zero set of coefficients of a vectorthat represent a distinct component of a sound field, the vector havingbeen decomposed from a plurality of spherical harmonic coefficients thatdescribe the sound field.

In another aspect, a method comprises obtaining, from a bitstream, atleast one of one or more vectors decomposed from spherical harmoniccoefficients that were recombined with background spherical harmoniccoefficients, wherein the spherical harmonic coefficients describe asound field, and wherein the background spherical harmonic coefficientsdescribed one or more background components of the same sound field.

In another aspect, a device comprises one or more processors configuredto determine, from a bitstream, at least one of one or more vectorsdecomposed from spherical harmonic coefficients that were recombinedwith background spherical harmonic coefficients, wherein the sphericalharmonic coefficients describe a sound field, and wherein the backgroundspherical harmonic coefficients described one or more backgroundcomponents of the same sound field.

In another aspect, a device comprises means for obtaining, from abitstream, at least one of one or more vectors decomposed from sphericalharmonic coefficients that were recombined with background sphericalharmonic coefficients, wherein the spherical harmonic coefficientsdescribe a sound field, and wherein the background spherical harmoniccoefficients described one or more background components of the samesound field.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to obtain, from a bitstream, at least one of one or morevectors decomposed from spherical harmonic coefficients that wererecombined with background spherical harmonic coefficients, wherein thespherical harmonic coefficients describe a sound field, and wherein thebackground spherical harmonic coefficients described one or morebackground components of the same sound field.

In another aspect, a method comprises identifying one or more distinctaudio objects from one or more spherical harmonic coefficients (SHC)associated with the audio objects based on a directionality determinedfor one or more of the audio objects.

In another aspect, a device comprises one or more processors configuredto identify one or more distinct audio objects from one or morespherical harmonic coefficients (SHC) associated with the audio objectsbased on a directionality determined for one or more of the audioobjects.

In another aspect, a device comprises means for storing one or morespherical harmonic coefficients (SHC), and means for identifying one ormore distinct audio objects from the one or more spherical harmoniccoefficients (SHC) associated with the audio objects based on adirectionality determined for one or more of the audio objects.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to identify one or more distinct audio objects from one ormore spherical harmonic coefficients (SHC) associated with the audioobjects based on a directionality determined for one or more of theaudio objects.

In another aspect, a method comprises performing a vector-basedsynthesis with respect to a plurality of spherical harmonic coefficientsto generate decomposed representations of the plurality of sphericalharmonic coefficients representative of one or more audio objects andcorresponding directional information, wherein the spherical harmoniccoefficients are associated with an order and describe a sound field,determining distinct and background directional information from thedirectional information, reducing an order of the directionalinformation associated with the background audio objects to generatetransformed background directional information, applying compensation toincrease values of the transformed directional information to preservean overall energy of the sound field.

In another aspect, a device comprises one or more processors configuredto perform a vector-based synthesis with respect to a plurality ofspherical harmonic coefficients to generate decomposed representationsof the plurality of spherical harmonic coefficients representative ofone or more audio objects and corresponding directional information,wherein the spherical harmonic coefficients are associated with an orderand describe a sound field, determine distinct and backgrounddirectional information from the directional information, reduce anorder of the directional information associated with the backgroundaudio objects to generate transformed background directionalinformation, apply compensation to increase values of the transformeddirectional information to preserve an overall energy of the soundfield.

In another aspect, a device comprises means for performing avector-based synthesis with respect to a plurality of spherical harmoniccoefficients to generate decomposed representations of the plurality ofspherical harmonic coefficients representative of one or more audioobjects and corresponding directional information, wherein the sphericalharmonic coefficients are associated with an order and describe a soundfield, means for determining distinct and background directionalinformation from the directional information, means for reducing anorder of the directional information associated with the backgroundaudio objects to generate transformed background directionalinformation, and means for applying compensation to increase values ofthe transformed directional information to preserve an overall energy ofthe sound field.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to perform a vector-based synthesis with respect to aplurality of spherical harmonic coefficients to generate decomposedrepresentations of the plurality of spherical harmonic coefficientsrepresentative of one or more audio objects and correspondingdirectional information, wherein the spherical harmonic coefficients areassociated with an order and describe a sound field, determine distinctand background directional information from the directional information,reduce an order of the directional information associated with thebackground audio objects to generate transformed background directionalinformation, and apply compensation to increase values of thetransformed directional information to preserve an overall energy of thesound field.

In another aspect, a method comprises obtaining decomposed interpolatedspherical harmonic coefficients for a time segment by, at least in part,performing an interpolation with respect to a first decomposition of afirst plurality of spherical harmonic coefficients and a seconddecomposition of a second plurality of spherical harmonic coefficients.

In another aspect, a device comprises one or more processors configuredto obtain decomposed interpolated spherical harmonic coefficients for atime segment by, at least in part, performing an interpolation withrespect to a first decomposition of a first plurality of sphericalharmonic coefficients and a second decomposition of a second pluralityof spherical harmonic coefficients.

In another aspect, a device comprises means for storing a firstplurality of spherical harmonic coefficients and a second plurality ofspherical harmonic coefficients, and means for obtain decomposedinterpolated spherical harmonic coefficients for a time segment by, atleast in part, performing an interpolation with respect to a firstdecomposition of the first plurality of spherical harmonic coefficientsand the second decomposition of a second plurality of spherical harmoniccoefficients.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to obtain decomposed interpolated spherical harmoniccoefficients for a time segment by, at least in part, performing aninterpolation with respect to a first decomposition of a first pluralityof spherical harmonic coefficients and a second decomposition of asecond plurality of spherical harmonic coefficients.

In another aspect, a method comprises obtaining a bitstream comprising acompressed version of a spatial component of a sound field, the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients.

In another aspect, a device comprises one or more processors configuredto obtain a bitstream comprising a compressed version of a spatialcomponent of a sound field, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients.

In another aspect, a device comprises means for obtaining a bitstreamcomprising a compressed version of a spatial component of a sound field,the spatial component generated by performing a vector based synthesiswith respect to a plurality of spherical harmonic coefficients, andmeans for storing the bitstream.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that when executed cause one or moreprocessors to obtain a bitstream comprising a compressed version of aspatial component of a sound field, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients.

In another aspect, a method comprises generating a bitstream comprisinga compressed version of a spatial component of a sound field, thespatial component generated by performing a vector based synthesis withrespect to a plurality of spherical harmonic coefficients.

In another aspect, a device comprises one or more processors configuredto generate a bitstream comprising a compressed version of a spatialcomponent of a sound field, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients.

In another aspect, a device comprises means for generating a bitstreamcomprising a compressed version of a spatial component of a sound field,the spatial component generated by performing a vector based synthesiswith respect to a plurality of spherical harmonic coefficients, andmeans for storing the bitstream.

In another aspect, a non-transitory computer-readable storage medium hasinstructions that when executed cause one or more processors to generatea bitstream comprising a compressed version of a spatial component of asound field, the spatial component generated by performing a vectorbased synthesis with respect to a plurality of spherical harmoniccoefficients.

In another aspect, a method comprises identifying a Huffman codebook touse when decompressing a compressed version of a spatial component of aplurality of compressed spatial components based on an order of thecompressed version of the spatial component relative to remaining onesof the plurality of compressed spatial components, the spatial componentgenerated by performing a vector based synthesis with respect to aplurality of spherical harmonic coefficients.

In another aspect, a device comprises one or more processors configuredto identify a Huffman codebook to use when decompressing a compressedversion of a spatial component of a plurality of compressed spatialcomponents based on an order of the compressed version of the spatialcomponent relative to remaining ones of the plurality of compressedspatial components, the spatial component generated by performing avector based synthesis with respect to a plurality of spherical harmoniccoefficients.

In another aspect, a device comprises means for identifying a Huffmancodebook to use when decompressing a compressed version of a spatialcomponent of a plurality of compressed spatial components based on anorder of the compressed version of the spatial component relative toremaining ones of the plurality of compressed spatial components, thespatial component generated by performing a vector based synthesis withrespect to a plurality of spherical harmonic coefficients, and means forstring the plurality of compressed spatial components.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that when executed cause one or moreprocessors to identify a Huffman codebook to use when decompressing aspatial component of a plurality of spatial components based on an orderof the spatial component relative to remaining ones of the plurality ofspatial components, the spatial component generated by performing avector based synthesis with respect to a plurality of spherical harmoniccoefficients.

In another aspect, a method comprises identifying a Huffman codebook touse when compressing a spatial component of a plurality of spatialcomponents based on an order of the spatial component relative toremaining ones of the plurality of spatial components, the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients.

In another aspect, a device comprises one or more processors configuredto identify a Huffman codebook to use when compressing a spatialcomponent of a plurality of spatial components based on an order of thespatial component relative to remaining ones of the plurality of spatialcomponents, the spatial component generated by performing a vector basedsynthesis with respect to a plurality of spherical harmoniccoefficients.

In another aspect, a device comprises means for storing a Huffmancodebook, and means for identifying the Huffman codebook to use whencompressing a spatial component of a plurality of spatial componentsbased on an order of the spatial component relative to remaining ones ofthe plurality of spatial components, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that, when executed, cause one or moreprocessors to identify a Huffman codebook to use when compressing aspatial component of a plurality of spatial components based on an orderof the spatial component relative to remaining ones of the plurality ofspatial components, the spatial component generated by performing avector based synthesis with respect to a plurality of spherical harmoniccoefficients.

In another aspect, a method comprises determining a quantization stepsize to be used when compressing a spatial component of a sound field,the spatial component generated by performing a vector based synthesiswith respect to a plurality of spherical harmonic coefficients.

In another aspect, a device comprises one or more processors configuredto determine a quantization step size to be used when compressing aspatial component of a sound field, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients.

In another aspect, a device comprises means for determining aquantization step size to be used when compressing a spatial componentof a sound field, the spatial component generated by performing a vectorbased synthesis with respect to a plurality of spherical harmoniccoefficients, and means for storing the quantization step size.

In another aspect, a non-transitory computer-readable storage medium hasstored thereon instructions that when executed cause one or moreprocessors to determine a quantization step size to be used whencompressing a spatial component of a sound field, the spatial componentgenerated by performing a vector based synthesis with respect to aplurality of spherical harmonic coefficients.

The details of one or more aspects of the techniques are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of these techniques will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIGS. 1 and 2 are diagrams illustrating spherical harmonic basisfunctions of various orders and sub-orders.

FIG. 3 is a diagram illustrating a system that may perform variousaspects of the techniques described in this disclosure.

FIG. 4 is a block diagram illustrating, in more detail, one example ofthe audio encoding device shown in the example of FIG. 3 that mayperform various aspects of the techniques described in this disclosure.

FIG. 5 is a block diagram illustrating the audio decoding device of FIG.3 in more detail.

FIG. 6 is a flowchart illustrating exemplary operation of a contentanalysis unit of an audio encoding device in performing various aspectsof the techniques described in this disclosure.

FIG. 7 is a flowchart illustrating exemplary operation of an audioencoding device in performing various aspects of the vector-basedsynthesis techniques described in this disclosure.

FIG. 8 is a flow chart illustrating exemplary operation of an audiodecoding device in performing various aspects of the techniquesdescribed in this disclosure.

FIGS. 9A-9L are block diagrams illustrating various aspects of the audioencoding device of the example of FIG. 4 in more detail.

FIGS. 10A-10O(ii) are diagrams illustrating a portion of the bitstreamor side channel information that may specify the compressed spatialcomponents in more detail.

FIGS. 11A-11G are block diagrams illustrating, in more detail, variousunits of the audio decoding device shown in the example of FIG. 5.

FIG. 12 is a diagram illustrating an example audio ecosystem that mayperform various aspects of the techniques described in this disclosure.

FIG. 13 is a diagram illustrating one example of the audio ecosystem ofFIG. 12 in more detail.

FIG. 14 is a diagram illustrating one example of the audio ecosystem ofFIG. 12 in more detail.

FIGS. 15A and 15B are diagrams illustrating other examples of the audioecosystem of FIG. 12 in more detail.

FIG. 16 is a diagram illustrating an example audio encoding device thatmay perform various aspects of the techniques described in thisdisclosure.

FIG. 17 is a diagram illustrating one example of the audio encodingdevice of FIG. 16 in more detail.

FIG. 18 is a diagram illustrating an example audio decoding device thatmay perform various aspects of the techniques described in thisdisclosure.

FIG. 19 is a diagram illustrating one example of the audio decodingdevice of FIG. 18 in more detail.

FIGS. 20A-20G are diagrams illustrating example audio acquisitiondevices that may perform various aspects of the techniques described inthis disclosure.

FIGS. 21A-21E are diagrams illustrating example audio playback devicesthat may perform various aspects of the techniques described in thisdisclosure.

FIGS. 22A-22H are diagrams illustrating example audio playbackenvironments in accordance with one or more techniques described in thisdisclosure.

FIG. 23 is a diagram illustrating an example use case where a user mayexperience a 3D soundfield of a sports game while wearing headphones inaccordance with one or more techniques described in this disclosure.

FIG. 24 is a diagram illustrating a sports stadium at which a 3Dsoundfield may be recorded in accordance with one or more techniquesdescribed in this disclosure.

FIG. 25 is a flow diagram illustrating a technique for rendering a 3Dsoundfield based on a local audio landscape in accordance with one ormore techniques described in this disclosure.

FIG. 26 is a diagram illustrating an example game studio in accordancewith one or more techniques described in this disclosure.

FIG. 27 is a diagram illustrating a plurality game systems which includerendering engines in accordance with one or more techniques described inthis disclosure.

FIG. 28 is a diagram illustrating a speaker configuration that may besimulated by headphones in accordance with one or more techniquesdescribed in this disclosure.

FIG. 29 is a diagram illustrating a plurality of mobile devices whichmay be used to acquire and/or edit a 3D soundfield in accordance withone or more techniques described in this disclosure.

FIG. 30 is a diagram illustrating a video frame associated with a 3Dsoundfield which may be processed in accordance with one or moretechniques described in this disclosure.

FIGS. 31A-31M are diagrams illustrating graphs showing varioussimulation results of performing synthetic or recorded categorization ofthe soundfield in accordance with various aspects of the techniquesdescribed in this disclosure.

FIG. 32 is a diagram illustrating a graph of singular values from an Smatrix decomposed from higher order ambisonic coefficients in accordancewith the techniques described in this disclosure.

FIGS. 33A and 33B are diagrams illustrating respective graphs showing apotential impact reordering has when encoding the vectors describingforeground components of the soundfield in accordance with thetechniques described in this disclosure.

FIGS. 34 and 35 are conceptual diagrams illustrating differences betweensolely energy-based and directionality-based identification of distinctaudio objects, in accordance with this disclosure.

FIGS. 36A-36G are diagrams illustrating projections of at least aportion of decomposed version of spherical harmonic coefficients intothe spatial domain so as to perform interpolation in accordance withvarious aspects of the techniques described in this disclosure.

FIG. 37 illustrates a representation of techniques for obtaining aspatio-temporal interpolation as described herein.

FIG. 38 is a block diagram illustrating artificial US matrices, US₁ andUS₂, for sequential SVD blocks for a multi-dimensional signal accordingto techniques described herein.

FIG. 39 is a block diagram illustrating decomposition of subsequentframes of a higher-order ambisonics (HOA) signal using Singular ValueDecomposition and smoothing of the spatio-temporal components accordingto techniques described in this disclosure.

FIGS. 40A-40J are each a block diagram illustrating example audioencoding devices that may perform various aspects of the techniquesdescribed in this disclosure to compress spherical harmonic coefficientsdescribing two or three dimensional soundfields.

FIG. 41A-41D are block diagrams each illustrating an example audiodecoding device that may perform various aspects of the techniquesdescribed in this disclosure to decode spherical harmonic coefficientsdescribing two or three dimensional soundfields.

FIGS. 42A-42C are each block diagrams illustrating the order reductionunit shown in the examples of FIGS. 40B-40J in more detail.

FIG. 43 is a diagram illustrating the V compression unit shown in FIG.40I in more detail.

FIG. 44 is a diagram illustration exemplary operations performed by theaudio encoding device to compensate for quantization error in accordancewith various aspects of the techniques described in this disclosure.

FIGS. 45A and 45B are diagrams illustrating interpolation of sub-framesfrom portions of two frames in accordance with various aspects of thetechniques described in this disclosure.

FIGS. 46A-46E are diagrams illustrating a cross section of a projectionof one or more vectors of a decomposed version of a plurality ofspherical harmonic coefficients having been interpolated in accordancewith the techniques described in this disclosure.

FIG. 47 is a block diagram illustrating, in more detail, the extractionunit of the audio decoding devices shown in the examples FIGS. 41A-41D.

FIG. 48 is a block diagram illustrating the audio rendering unit of theaudio decoding device shown in the examples of FIGS. 41A-41D in moredetail.

FIGS. 49A-49E(ii) are diagrams illustrating respective audio codingsystems that may implement various aspects of the techniques describedin this disclosure.

FIGS. 50A and 50B are block diagrams each illustrating one of twodifferent approaches to potentially reduce the order of backgroundcontent in accordance with the techniques described in this disclosure.

FIG. 51 is a block diagram illustrating examples of a distinct componentcompression path of an audio encoding device that may implement variousaspects of the techniques described in this disclosure to compressspherical harmonic coefficients.

FIG. 52 is a block diagram illustrating another example of an audiodecoding device that may implement various aspects of the techniquesdescribed in this disclosure to reconstruct or nearly reconstructspherical harmonic coefficients (SHC).

FIG. 53 is a block diagram illustrating another example of an audioencoding device that may perform various aspects of the techniquesdescribed in this disclosure.

FIG. 54 is a block diagram illustrating, in more detail, an exampleimplementation of the audio encoding device shown in the example of FIG.53.

FIGS. 55A and 55B are diagrams illustrating an example of performingvarious aspects of the techniques described in this disclosure to rotatea soundfield.

FIG. 56 is a diagram illustrating an example soundfield capturedaccording to a first frame of reference that is then rotated inaccordance with the techniques described in this disclosure to expressthe soundfield in terms of a second frame of reference.

FIGS. 57A-57E are each a diagram illustrating bitstreams formed inaccordance with the techniques described in this disclosure.

FIG. 58 is a flowchart illustrating example operation of the audioencoding device shown in the example of FIG. 53 in implementing therotation aspects of the techniques described in this disclosure.

FIG. 59 is a flowchart illustrating example operation of the audioencoding device shown in the example of FIG. 53 in performing thetransformation aspects of the techniques described in this disclosure.

DETAILED DESCRIPTION

The evolution of surround sound has made available many output formatsfor entertainment nowadays. Examples of such consumer surround soundformats are mostly ‘channel’ based in that they implicitly specify feedsto loudspeakers in certain geometrical coordinates. These include thepopular 5.1 format (which includes the following six channels: frontleft (FL), front right (FR), center or front center, back left orsurround left, back right or surround right, and low frequency effects(LFE)), the growing 7.1 format, various formats that includes heightspeakers such as the 7.1.4 format and the 22.2 format (e.g., for usewith the Ultra High Definition Television standard). Non-consumerformats can span any number of speakers (in symmetric and non-symmetricgeometries) often termed ‘surround arrays’. One example of such an arrayincludes 32 loudspeakers positioned on co-ordinates on the corners of atruncated icosohedron.

The input to a future MPEG encoder is optionally one of three possibleformats: (i) traditional channel-based audio (as discussed above), whichis meant to be played through loudspeakers at pre-specified positions;(ii) object-based audio, which involves discrete pulse-code-modulation(PCM) data for single audio objects with associated metadata containingtheir location coordinates (amongst other information); and (iii)scene-based audio, which involves representing the soundfield usingcoefficients of spherical harmonic basis functions (also called“spherical harmonic coefficients” or SHC, “Higher Order Ambisonics” orHOA, and “HOA coefficients”). This future MPEG encoder may be describedin more detail in a document entitled “Call for Proposals for 3D Audio,”by the International Organization for Standardization/InternationalElectrotechnical Commission (ISO)/(IEC) JTC1/SC29/WG11/N13411, releasedJanuary 2013 in Geneva, Switzerland, and available athttp://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w13411.zip.

There are various ‘surround-sound’ channel-based formats in the market.They range, for example, from the 5.1 home theatre system (which hasbeen the most successful in terms of making inroads into living roomsbeyond stereo) to the 22.2 system developed by NHK (Nippon Hoso Kyokaior Japan Broadcasting Corporation). Content creators (e.g., Hollywoodstudios) would like to produce the soundtrack for a movie once, and notspend the efforts to remix it for each speaker configuration. Recently,Standards Developing Organizations have been considering ways in whichto provide an encoding into a standardized bitstream and a subsequentdecoding that is adaptable and agnostic to the speaker geometry (andnumber) and acoustic conditions at the location of the playback(involving a renderer).

To provide such flexibility for content creators, a hierarchical set ofelements may be used to represent a soundfield. The hierarchical set ofelements may refer to a set of elements in which the elements areordered such that a basic set of lower-ordered elements provides a fullrepresentation of the modeled soundfield. As the set is extended toinclude higher-order elements, the representation becomes more detailed,increasing resolution.

One example of a hierarchical set of elements is a set of sphericalharmonic coefficients (SHC). The following expression demonstrates adescription or representation of a soundfield using SHC:

${{p_{i}\left( {t,r_{r},\theta_{r},\phi_{r}} \right)} = {\sum\limits_{\omega = 0}^{\infty}\; {\left\lbrack {4\pi {\sum\limits_{n = 0}^{\infty}\; {{j_{n}\left( {kr}_{r} \right)}{\sum\limits_{m = {- n}}^{n}\; {{A_{n}^{m}(k)}{Y_{n}^{m}\left( {\theta_{r},\phi_{r}} \right)}}}}}} \right\rbrack ^{{j\omega}\; t}}}},$

This expression shows that the pressure p_(i) at any point {r_(r),θ_(r),φ_(r)} of the soundfield, at time t, can be represented uniquely by theSHC, A_(n) ^(m)(k). Here,

${k = \frac{\omega}{c}},$

c is the speed of sound (˜343 m/s), {r_(r), θ_(r), φ_(r)} is a point ofreference (or observation point), j_(n)(•) is the spherical Besselfunction of order n, and Y_(n) ^(m)(θ_(r),φ_(r)) are the sphericalharmonic basis functions of order n and suborder m. It can be recognizedthat the term in square brackets is a frequency-domain representation ofthe signal (i.e., S(ω,r_(r),θ_(r),φ_(r)) which can be approximated byvarious time-frequency transformations, such as the discrete Fouriertransform (DFT), the discrete cosine transform (DCT), or a wavelettransform. Other examples of hierarchical sets include sets of wavelettransform coefficients and other sets of coefficients of multiresolutionbasis functions.

FIG. 1 is a diagram illustrating spherical harmonic basis functions fromthe zero order (n=0) to the fourth order (n=4). As can be seen, for eachorder, there is an expansion of suborders m which are shown but notexplicitly noted in the example of FIG. 1 for ease of illustrationpurposes.

FIG. 2 is another diagram illustrating spherical harmonic basisfunctions from the zero order (n=0) to the fourth order (n=4). In FIG.2, the spherical harmonic basis functions are shown in three-dimensionalcoordinate space with both the order and the suborder shown.

The SHC A_(n) ^(m)(k) can either be physically acquired (e.g., recorded)by various microphone array configurations or, alternatively, they canbe derived from channel-based or object-based descriptions of thesoundfield. The SHC represent scene-based audio, where the SHC may beinput to an audio encoder to obtain encoded SHC that may promote moreefficient transmission or storage. For example, a fourth-orderrepresentation involving (1+4)² (25, and hence fourth order)coefficients may be used.

As noted above, the SHC may be derived from a microphone recording usinga microphone. Various examples of how SHC may be derived from microphonearrays are described in Poletti, M., “Three-Dimensional Surround SoundSystems Based on Spherical Harmonics,” J. Audio Eng. Soc., Vol. 53, No.11, 2005 November, pp. 1004-1025.

To illustrate how these SHCs may be derived from an object-baseddescription, consider the following equation. The coefficients A_(n)^(m)(k) for the soundfield corresponding to an individual audio objectmay be expressed as:

A _(n) ^(m)(k)=g(ω)(−4πik)h _(n) ⁽²⁾(kr _(s))Y _(n) ^(m)*(θ_(s),φ_(s)),

where i is √{square root over (−1)}, h_(n) ⁽²⁾(•) is the sphericalHankel function (of the second kind) of order n, and {r_(s),θ_(s),φ_(s)}is the location of the object. Knowing the object source energy g (ω) asa function of frequency (e.g., using time-frequency analysis techniques,such as performing a fast Fourier transform on the PCM stream) allows usto convert each PCM object and its location into the SHC A_(n) ^(m)(k).Further, it can be shown (since the above is a linear and orthogonaldecomposition) that the A_(n) ^(m)(k) coefficients for each object areadditive. In this manner, a multitude of PCM objects can be representedby the A_(n) ^(m)(k) coefficients (e.g., as a sum of the coefficientvectors for the individual objects). Essentially, these coefficientscontain information about the soundfield (the pressure as a function of3D coordinates), and the above represents the transformation fromindividual objects to a representation of the overall soundfield, in thevicinity of the observation point {r_(r),θ_(r),φ_(r)}. The remainingfigures are described below in the context of object-based and SHC-basedaudio coding.

FIG. 3 is a diagram illustrating a system 10 that may perform variousaspects of the techniques described in this disclosure. As shown in theexample of FIG. 3, the system 10 includes a content creator 12 and acontent consumer 14. While described in the context of the contentcreator 12 and the content consumer 14, the techniques may beimplemented in any context in which SHCs (which may also be referred toas HOA coefficients) or any other hierarchical representation of asoundfield are encoded to form a bitstream representative of the audiodata. Moreover, the content creator 12 may represent any form ofcomputing device capable of implementing the techniques described inthis disclosure, including a handset (or cellular phone), a tabletcomputer, a smart phone, or a desktop computer to provide a fewexamples. Likewise, the content consumer 14 may represent any form ofcomputing device capable of implementing the techniques described inthis disclosure, including a handset (or cellular phone), a tabletcomputer, a smart phone, a set-top box, or a desktop computer to providea few examples.

The content creator 12 may represent a movie studio or other entity thatmay generate multi-channel audio content for consumption by contentconsumers, such as the content consumer 14. In some examples, thecontent creator 12 may represent an individual user who would like tocompress HOA coefficients 11. Often, this content creator generatesaudio content in conjunction with video content. The content consumer 14represents an individual that owns or has access to an audio playbacksystem, which may refer to any form of audio playback system capable ofrendering SHC for play back as multi-channel audio content. In theexample of FIG. 3, the content consumer 14 includes an audio playbacksystem 16.

The content creator 12 includes an audio editing system 18. The contentcreator 12 obtain live recordings 7 in various formats (includingdirectly as HOA coefficients) and audio objects 9, which the contentcreator 12 may edit using audio editing system 18. The content creatormay, during the editing process, render HOA coefficients 11 from audioobjects 9, listening to the rendered speaker feeds in an attempt toidentify various aspects of the soundfield that require further editing.The content creator 12 may then edit HOA coefficients 11 (potentiallyindirectly through manipulation of different ones of the audio objects 9from which the source HOA coefficients may be derived in the mannerdescribed above). The content creator 12 may employ the audio editingsystem 18 to generate the HOA coefficients 11. The audio editing system18 represents any system capable of editing audio data and outputtingthis audio data as one or more source spherical harmonic coefficients.

When the editing process is complete, the content creator 12 maygenerate a bitstream 21 based on the HOA coefficients 11. That is, thecontent creator 12 includes an audio encoding device 20 that representsa device configured to encode or otherwise compress HOA coefficients 11in accordance with various aspects of the techniques described in thisdisclosure to generate the bitstream 21. The audio encoding device 20may generate the bitstream 21 for transmission, as one example, across atransmission channel, which may be a wired or wireless channel, a datastorage device, or the like. The bitstream 21 may represent an encodedversion of the HOA coefficients 11 and may include a primary bitstreamand another side bitstream, which may be referred to as side channelinformation.

Although described in more detail below, the audio encoding device 20may be configured to encode the HOA coefficients 11 based on avector-based synthesis or a directional-based synthesis. To determinewhether to perform the vector-based synthesis methodology or adirectional-based synthesis methodology, the audio encoding device 20may determine, based at least in part on the HOA coefficients 11,whether the HOA coefficients 11 were generated via a natural recordingof a soundfield (e.g., live recording 7) or produced artificially (i.e.,synthetically) from, as one example, audio objects 9, such as a PCMobject. When the HOA coefficients 11 were generated form the audioobjects 9, the audio encoding device 20 may encode the HOA coefficients11 using the directional-based synthesis methodology. When the HOAcoefficients 11 were captured live using, for example, an eigenmike, theaudio encoding device 20 may encode the HOA coefficients 11 based on thevector-based synthesis methodology. The above distinction represents oneexample of where vector-based or directional-based synthesis methodologymay be deployed. There may be other cases where either or both may beuseful for natural recordings, artificially generated content or amixture of the two (hybrid content). Furthermore, it is also possible touse both methodologies simultaneously for coding a single time-frame ofHOA coefficients.

Assuming for purposes of illustration that the audio encoding device 20determines that the HOA coefficients 11 were captured live or otherwiserepresent live recordings, such as the live recording 7, the audioencoding device 20 may be configured to encode the HOA coefficients 11using a vector-based synthesis methodology involving application of alinear invertible transform (LIT). One example of the linear invertibletransform is referred to as a “singular value decomposition” (or “SVD”).In this example, the audio encoding device 20 may apply SVD to the HOAcoefficients 11 to determine a decomposed version of the HOAcoefficients 11. The audio encoding device 20 may then analyze thedecomposed version of the HOA coefficients 11 to identify variousparameters, which may facilitate reordering of the decomposed version ofthe HOA coefficients 11. The audio encoding device 20 may then reorderthe decomposed version of the HOA coefficients 11 based on theidentified parameters, where such reordering, as described in furtherdetail below, may improve coding efficiency given that thetransformation may reorder the HOA coefficients across frames of the HOAcoefficients (where a frame commonly includes M samples of the HOAcoefficients 11 and M is, in some examples, set to 1024). Afterreordering the decomposed version of the HOA coefficients 11, the audioencoding device 20 may select those of the decomposed version of the HOAcoefficients 11 representative of foreground (or, in other words,distinct, predominant or salient) components of the soundfield. Theaudio encoding device 20 may specify the decomposed version of the HOAcoefficients 11 representative of the foreground components as an audioobject and associated directional information.

The audio encoding device 20 may also perform a soundfield analysis withrespect to the HOA coefficients 11 in order, at least in part, toidentify those of the HOA coefficients 11 representative of one or morebackground (or, in other words, ambient) components of the soundfield.The audio encoding device 20 may perform energy compensation withrespect to the background components given that, in some examples, thebackground components may only include a subset of any given sample ofthe HOA coefficients 11 (e.g., such as those corresponding to zero andfirst order spherical basis functions and not those corresponding tosecond or higher order spherical basis functions). When order-reductionis performed, in other words, the audio encoding device 20 may augment(e.g., add/subtract energy to/from) the remaining background HOAcoefficients of the HOA coefficients 11 to compensate for the change inoverall energy that results from performing the order reduction.

The audio encoding device 20 may next perform a form of psychoacousticencoding (such as MPEG surround, MPEG-AAC, MPEG-USAC or other knownforms of psychoacoustic encoding) with respect to each of the HOAcoefficients 11 representative of background components and each of theforeground audio objects. The audio encoding device 20 may perform aform of interpolation with respect to the foreground directionalinformation and then perform an order reduction with respect to theinterpolated foreground directional information to generate orderreduced foreground directional information. The audio encoding device 20may further perform, in some examples, a quantization with respect tothe order reduced foreground directional information, outputting codedforeground directional information. In some instances, this quantizationmay comprise a scalar/entropy quantization. The audio encoding device 20may then form the bitstream 21 to include the encoded backgroundcomponents, the encoded foreground audio objects, and the quantizeddirectional information. The audio encoding device 20 may then transmitor otherwise output the bitstream 21 to the content consumer 14.

While shown in FIG. 3 as being directly transmitted to the contentconsumer 14, the content creator 12 may output the bitstream 21 to anintermediate device positioned between the content creator 12 and thecontent consumer 14. This intermediate device may store the bitstream 21for later delivery to the content consumer 14, which may request thisbitstream. The intermediate device may comprise a file server, a webserver, a desktop computer, a laptop computer, a tablet computer, amobile phone, a smart phone, or any other device capable of storing thebitstream 21 for later retrieval by an audio decoder. This intermediatedevice may reside in a content delivery network capable of streaming thebitstream 21 (and possibly in conjunction with transmitting acorresponding video data bitstream) to subscribers, such as the contentconsumer 14, requesting the bitstream 21.

Alternatively, the content creator 12 may store the bitstream 21 to astorage medium, such as a compact disc, a digital video disc, a highdefinition video disc or other storage media, most of which are capableof being read by a computer and therefore may be referred to ascomputer-readable storage media or non-transitory computer-readablestorage media. In this context, the transmission channel may refer tothose channels by which content stored to these mediums are transmitted(and may include retail stores and other store-based deliverymechanism). In any event, the techniques of this disclosure should nottherefore be limited in this respect to the example of FIG. 3.

As further shown in the example of FIG. 3, the content consumer 14includes the audio playback system 16. The audio playback system 16 mayrepresent any audio playback system capable of playing backmulti-channel audio data. The audio playback system 16 may include anumber of different renderers 22. The renderers 22 may each provide fora different form of rendering, where the different forms of renderingmay include one or more of the various ways of performing vector-baseamplitude panning (VBAP), and/or one or more of the various ways ofperforming soundfield synthesis. As used herein, “A and/or B” means “Aor B”, or both “A and B”.

The audio playback system 16 may further include an audio decodingdevice 24. The audio decoding device 24 may represent a deviceconfigured to decode HOA coefficients 11′ from the bitstream 21, wherethe HOA coefficients 11′ may be similar to the HOA coefficients 11 butdiffer due to lossy operations (e.g., quantization) and/or transmissionvia the transmission channel. That is, the audio decoding device 24 maydequantize the foreground directional information specified in thebitstream 21, while also performing psychoacoustic decoding with respectto the foreground audio objects specified in the bitstream 21 and theencoded HOA coefficients representative of background components. Theaudio decoding device 24 may further perform interpolation with respectto the decoded foreground directional information and then determine theHOA coefficients representative of the foreground components based onthe decoded foreground audio objects and the interpolated foregrounddirectional information. The audio decoding device 24 may then determinethe HOA coefficients 11′ based on the determined HOA coefficientsrepresentative of the foreground components and the decoded HOAcoefficients representative of the background components.

The audio playback system 16 may, after decoding the bitstream 21 toobtain the HOA coefficients 11′ and render the HOA coefficients 11′ tooutput loudspeaker feeds 25. The loudspeaker feeds 25 may drive one ormore loudspeakers (which are not shown in the example of FIG. 3 for easeof illustration purposes).

To select the appropriate renderer or, in some instances, generate anappropriate renderer, the audio playback system 16 may obtainloudspeaker information 13 indicative of a number of loudspeakers and/ora spatial geometry of the loudspeakers. In some instances, the audioplayback system 16 may obtain the loudspeaker information 13 using areference microphone and driving the loudspeakers in such a manner as todynamically determine the loudspeaker information 13. In other instancesor in conjunction with the dynamic determination of the loudspeakerinformation 13, the audio playback system 16 may prompt a user tointerface with the audio playback system 16 and input the loudspeakerinformation 16.

The audio playback system 16 may then select one of the audio renderers22 based on the loudspeaker information 13. In some instances, the audioplayback system 16 may, when none of the audio renderers 22 are withinsome threshold similarity measure (loudspeaker geometry wise) to thatspecified in the loudspeaker information 13, the audio playback system16 may generate the one of audio renderers 22 based on the loudspeakerinformation 13. The audio playback system 16 may, in some instances,generate the one of audio renderers 22 based on the loudspeakerinformation 13 without first attempting to select an existing one of theaudio renderers 22.

FIG. 4 is a block diagram illustrating, in more detail, one example ofthe audio encoding device 20 shown in the example of FIG. 3 that mayperform various aspects of the techniques described in this disclosure.The audio encoding device 20 includes a content analysis unit 26, avector-based synthesis methodology unit 27 and a directional-basedsynthesis methodology unit 28.

The content analysis unit 26 represents a unit configured to analyze thecontent of the HOA coefficients 11 to identify whether the HOAcoefficients 11 represent content generated from a live recording or anaudio object. The content analysis unit 26 may determine whether the HOAcoefficients 11 were generated from a recording of an actual soundfieldor from an artificial audio object. The content analysis unit 26 maymake this determination in various ways. For example, the contentanalysis unit 26 may code (N+1)²−1 channels and predict the lastremaining channel (which may be represented as a vector). The contentanalysis unit 26 may apply scalars to at least some of the (N+1)²−1channels and add the resulting values to determine the last remainingchannel. Furthermore, in this example, the content analysis unit 26 maydetermine an accuracy of the predicted channel. In this example, if theaccuracy of the predicted channel is relatively high (e.g., the accuracyexceeds a particular threshold), the HOA coefficients 11 are likely tobe generated from a synthetic audio object. In contrast, if the accuracyof the predicted channel is relatively low (e.g., the accuracy is belowthe particular threshold), the HOA coefficients 11 are more likely torepresent a recorded soundfield. For instance, in this example, if asignal-to-noise ratio (SNR) of the predicted channel is over 100decibels (dbs), the HOA coefficients 11 are more likely to represent asoundfield generated from a synthetic audio object. In contrast, the SNRof a soundfield recorded using an eigen microphone may be 5 to 20 dbs.Thus, there may be an apparent demarcation in SNR ratios betweensoundfield represented by the HOA coefficients 11 generated from anactual direct recording and from a synthetic audio object.

More specifically, the content analysis unit 26 may, when determiningwhether the HOA coefficients 11 representative of a soundfield aregenerated from a synthetic audio object, obtain a framed of HOAcoefficients, which may be of size 25 by 1024 for a fourth orderrepresentation (i.e., N=4). After obtaining the framed HOA coefficients(which may also be denoted herein as a framed SHC matrix 11 andsubsequent framed SHC matrices may be denoted as framed SHC matrices27B, 27C, etc.). The content analysis unit 26 may then exclude the firstvector of the framed HOA coefficients 11 to generate a reduced framedHOA coefficients. In some examples, this first vector excluded from theframed HOA coefficients 11 may correspond to those of the HOAcoefficients 11 associated with the zero-order, zero-sub-order sphericalharmonic basis function.

The content analysis unit 26 may then predicted the first non-zerovector of the reduced framed HOA coefficients from remaining vectors ofthe reduced framed HOA coefficients. The first non-zero vector may referto a first vector going from the first-order (and considering each ofthe order-dependent sub-orders) to the fourth-order (and consideringeach of the order-dependent sub-orders) that has values other than zero.In some examples, the first non-zero vector of the reduced framed HOAcoefficients refers to those of HOA coefficients 11 associated with thefirst order, zero-sub-order spherical harmonic basis function. Whiledescribed with respect to the first non-zero vector, the techniques maypredict other vectors of the reduced framed HOA coefficients from theremaining vectors of the reduced framed HOA coefficients. For example,the content analysis unit 26 may predict those of the reduced framed HOAcoefficients associated with a first-order, first-sub-order sphericalharmonic basis function or a first-order, negative-first-order sphericalharmonic basis function. As yet other examples, the content analysisunit 26 may predict those of the reduced framed HOA coefficientsassociated with a second-order, zero-order spherical harmonic basisfunction.

To predict the first non-zero vector, the content analysis unit 26 mayoperate in accordance with the following equation:

${\sum\limits_{i}^{\;}\; \left( {\alpha_{i}v_{i}} \right)},$

where i is from 1 to (N+1)²−2, which is 23 for a fourth orderrepresentation, α_(i) denotes some constant for the i-th vector, andv_(i) refers to the i-th vector. After predicting the first non-zerovector, the content analysis unit 26 may obtain an error based on thepredicted first non-zero vector and the actual non-zero vector. In someexamples, the content analysis unit 26 subtracts the predicted firstnon-zero vector from the actual first non-zero vector to derive theerror. The content analysis unit 26 may compute the error as a sum ofthe absolute value of the differences between each entry in thepredicted first non-zero vector and the actual first non-zero vector.

Once the error is obtained, the content analysis unit 26 may compute aratio based on an energy of the actual first non-zero vector and theerror. The content analysis unit 26 may determine this energy bysquaring each entry of the first non-zero vector and adding the squaredentries to one another. The content analysis unit 26 may then comparethis ratio to a threshold. When the ratio does not exceed the threshold,the content analysis unit 26 may determine that the framed HOAcoefficients 11 is generated from a recording and indicate in thebitstream that the corresponding coded representation of the HOAcoefficients 11 was generated from a recording. When the ratio exceedsthe threshold, the content analysis unit 26 may determine that theframed HOA coefficients 11 is generated from a synthetic audio objectand indicate in the bitstream that the corresponding codedrepresentation of the framed HOA coefficients 11 was generated from asynthetic audio object.

The indication of whether the framed HOA coefficients 11 was generatedfrom a recording or a synthetic audio object may comprise a single bitfor each frame. The single bit may indicate that different encodingswere used for each frame effectively toggling between different ways bywhich to encode the corresponding frame. In some instances, when theframed HOA coefficients 11 were generated from a recording, the contentanalysis unit 26 passes the HOA coefficients 11 to the vector-basedsynthesis unit 27. In some instances, when the framed HOA coefficients11 were generated from a synthetic audio object, the content analysisunit 26 passes the HOA coefficients 11 to the directional-basedsynthesis unit 28. The directional-based synthesis unit 28 may representa unit configured to perform a directional-based synthesis of the HOAcoefficients 11 to generate a directional-based bitstream 21.

In other words, the techniques are based on coding the HOA coefficientsusing a front-end classifier. The classifier may work as follows:

Start with a framed SH matrix (say 4th order, frame size of 1024, whichmay also be referred to as framed HOA coefficients or as HOAcoefficients)—where a matrix of size 25×1024 is obtained.

Exclude the 1st vector (0th order SH)—so there is a matrix of size24×1024.

Predict the first non-zero vector in the matrix (a 1×1024 sizevector)—from the rest of the of the vectors in the matrix (23 vectors ofsize 1×1024).

The prediction is as follows: predicted vector=sum-over-i[alpha-i×vector-I] (where the sum over I is done over 23 indices, i=1 .. . 23)

Then check the error: actual vector−predicted vector=error.

If the ratio of the energy of the vector/error is large (I.e. The erroris small), then the underlying soundfield (at that frame) issparse/synthetic. Else, the underlying soundfield is a recorded (usingsay a mic array) soundfield.

Depending on the recorded vs. synthetic decision, carry outencoding/decoding (which may refer to bandwidth compression) indifferent ways. The decision is a 1 bit decision, that is sent over thebitstream for each frame.

As shown in the example of FIG. 4, the vector-based synthesis unit 27may include a linear invertible transform (LIT) unit 30, a parametercalculation unit 32, a reorder unit 34, a foreground selection unit 36,an energy compensation unit 38, a psychoacoustic audio coder unit 40, abitstream generation unit 42, a soundfield analysis unit 44, acoefficient reduction unit 46, a background (BG) selection unit 48, aspatio-temporal interpolation unit 50, and a quantization unit 52.

The linear invertible transform (LIT) unit 30 receives the HOAcoefficients 11 in the form of HOA channels, each channel representativeof a block or frame of a coefficient associated with a given order,sub-order of the spherical basis functions (which may be denoted asHOA[k], where k may denote the current frame or block of samples). Thematrix of HOA coefficients 11 may have dimensions D: M×(N+1)².

That is, the LIT unit 30 may represent a unit configured to perform aform of analysis referred to as singular value decomposition. Whiledescribed with respect to SVD, the techniques described in thisdisclosure may be performed with respect to any similar transformationor decomposition that provides for sets of linearly uncorrelated, energycompacted output. Also, reference to “sets” in this disclosure isgenerally intended to refer to non-zero sets unless specifically statedto the contrary and is not intended to refer to the classicalmathematical definition of sets that includes the so-called “empty set.”

An alternative transformation may comprise a principal componentanalysis, which is often referred to as “PCA.” PCA refers to amathematical procedure that employs an orthogonal transformation toconvert a set of observations of possibly correlated variables into aset of linearly uncorrelated variables referred to as principalcomponents. Linearly uncorrelated variables represent variables that donot have a linear statistical relationship (or dependence) to oneanother. These principal components may be described as having a smalldegree of statistical correlation to one another. In any event, thenumber of so-called principal components is less than or equal to thenumber of original variables. In some examples, the transformation isdefined in such a way that the first principal component has the largestpossible variance (or, in other words, accounts for as much of thevariability in the data as possible), and each succeeding component inturn has the highest variance possible under the constraint that thissuccessive component be orthogonal to (which may be restated asuncorrelated with) the preceding components. PCA may perform a form oforder-reduction, which in terms of the HOA coefficients 11 may result inthe compression of the HOA coefficients 11. Depending on the context,PCA may be referred to by a number of different names, such as discreteKarhunen-Loeve transform, the Hotelling transform, proper orthogonaldecomposition (POD), and eigenvalue decomposition (EVD) to name a fewexamples. Properties of such operations that are conducive to theunderlying goal of compressing audio data are ‘energy compaction’ and‘decorrelation’ of the multichannel audio data.

In any event, the LIT unit 30 performs a singular value decomposition(which, again, may be referred to as “SVD”) to transform the HOAcoefficients 11 into two or more sets of transformed HOA coefficients.These “sets” of transformed HOA coefficients may include vectors oftransformed HOA coefficients. In the example of FIG. 4, the LIT unit 30may perform the SVD with respect to the HOA coefficients 11 to generatea so-called V matrix, an S matrix, and a U matrix. SVD, in linearalgebra, may represent a factorization of a y-by-z real or complexmatrix X (where X may represent multi-channel audio data, such as theHOA coefficients 11) in the following form:

X=USV*

U may represent an y-by-y real or complex unitary matrix, where the ycolumns of U are commonly known as the left-singular vectors of themulti-channel audio data. S may represent an y-by-z rectangular diagonalmatrix with non-negative real numbers on the diagonal, where thediagonal values of S are commonly known as the singular values of themulti-channel audio data. V* (which may denote a conjugate transpose ofV) may represent an z-by-z real or complex unitary matrix, where the zcolumns of V* are commonly known as the right-singular vectors of themulti-channel audio data.

While described in this disclosure as being applied to multi-channelaudio data comprising HOA coefficients 11, the techniques may be appliedto any form of multi-channel audio data. In this way, the audio encodingdevice 20 may perform a singular value decomposition with respect tomulti-channel audio data representative of at least a portion ofsoundfield to generate a U matrix representative of left-singularvectors of the multi-channel audio data, an S matrix representative ofsingular values of the multi-channel audio data and a V matrixrepresentative of right-singular vectors of the multi-channel audiodata, and representing the multi-channel audio data as a function of atleast a portion of one or more of the U matrix, the S matrix and the Vmatrix.

In some examples, the V* matrix in the SVD mathematical expressionreferenced above is denoted as the conjugate transpose of the V matrixto reflect that SVD may be applied to matrices comprising complexnumbers. When applied to matrices comprising only real-numbers, thecomplex conjugate of the V matrix (or, in other words, the V* matrix)may be considered to be the transpose of the V matrix. Below it isassumed, for ease of illustration purposes, that the HOA coefficients 11comprise real-numbers with the result that the V matrix is outputthrough SVD rather than the V* matrix. Moreover, while denoted as the Vmatrix in this disclosure, reference to the V matrix should beunderstood to refer to the transpose of the V matrix where appropriate.While assumed to be the V matrix, the techniques may be applied in asimilar fashion to HOA coefficients 11 having complex coefficients,where the output of the SVD is the V* matrix. Accordingly, thetechniques should not be limited in this respect to only provide forapplication of SVD to generate a V matrix, but may include applicationof SVD to HOA coefficients 11 having complex components to generate a V*matrix.

In any event, the LIT unit 30 may perform a block-wise form of SVD withrespect to each block (which may refer to a frame) of higher-orderambisonics (HOA) audio data (where this ambisonics audio data includesblocks or samples of the HOA coefficients 11 or any other form ofmulti-channel audio data). As noted above, a variable M may be used todenote the length of an audio frame in samples. For example, when anaudio frame includes 1024 audio samples, M equals 1024. Althoughdescribed with respect to this typical value for M, the techniques ofthis disclosure should not be limited to this typical value for M. TheLIT unit 30 may therefore perform a block-wise SVD with respect to ablock the HOA coefficients 11 having M-by-(N+1)² HOA coefficients, whereN, again, denotes the order of the HOA audio data. The LIT unit 30 maygenerate, through performing this SVD, a V matrix, an S matrix, and a Umatrix, where each of matrixes may represent the respective V, S and Umatrixes described above. In this way, the linear invertible transformunit 30 may perform SVD with respect to the HOA coefficients 11 tooutput US[k] vectors 33 (which may represent a combined version of the Svectors and the U vectors) having dimensions D: M×(N+1)², and V[k]vectors 35 having dimensions D: (N+1)²×(N+1)². Individual vectorelements in the US[k] matrix may also be termed X_(PS)(k) whileindividual vectors of the V[k] matrix may also be termed v(k).

An analysis of the U, S and V matrices may reveal that these matricescarry or represent spatial and temporal characteristics of theunderlying soundfield represented above by X. Each of the N vectors in U(of length M samples) may represent normalized separated audio signalsas a function of time (for the time period represented by M samples),that are orthogonal to each other and that have been decoupled from anyspatial characteristics (which may also be referred to as directionalinformation). The spatial characteristics, representing spatial shapeand position (r, theta, phi) width may instead be represented byindividual i^(th) vectors, v^((i))(k), in the V matrix (each of length(N+1)²). Both the vectors in the U matrix and the V matrix arenormalized such that their root-mean-square energies are equal to unity.The energy of the audio signals in U are thus represented by thediagonal elements in S. Multiplying U and S to form US[k] (withindividual vector elements X_(PS)(k)), thus represent the audio signalwith true energies. The ability of the SVD decomposition to decouple theaudio time-signals (in U), their energies (in S) and their spatialcharacteristics (in V) may support various aspects of the techniquesdescribed in this disclosure. Further, this model of synthesizing theunderlying HOA[k] coefficients, X, by a vector multiplication of US[k]and V[k] gives rise the term “vector based synthesis methodology,” whichis used throughout this document.

Although described as being performed directly with respect to the HOAcoefficients 11, the LIT unit 30 may apply the linear invertibletransform to derivatives of the HOA coefficients 11. For example, theLIT unit 30 may apply SVD with respect to a power spectral densitymatrix derived from the HOA coefficients 11. The power spectral densitymatrix may be denoted as PSD and obtained through matrix multiplicationof the transpose of the hoaFrame to the hoaFrame, as outlined in thepseudo-code that follows below. The hoaFrame notation refers to a frameof the HOA coefficients 11.

The LIT unit 30 may, after applying the SVD (svd) to the PSD, may obtainan S[k]² matrix (S_squared) and a V[k] matrix. The S[k]² matrix maydenote a squared S[k] matrix, whereupon the LIT unit 30 may apply asquare root operation to the S[k]² matrix to obtain the S[k] matrix. TheLIT unit 30 may, in some instances, perform quantization with respect tothe V[k] matrix to obtain a quantized V[k] matrix (which may be denotedas V[k]′ matrix). The LIT unit 30 may obtain the U[k] matrix by firstmultiplying the S[k] matrix by the quantized V[k]′ matrix to obtain anSV[k]′ matrix. The LIT unit 30 may next obtain the pseudo-inverse (pinv)of the SV[k]′ matrix and then multiply the HOA coefficients 11 by thepseudo-inverse of the SV[k]′ matrix to obtain the U[k] matrix. Theforegoing may be represented by the following pseud-code:

PSD = hoaFrame’*hoaFrame; [V, S_squared] = svd(PSD,’econ’); S =sqrt(S_squared); U = hoaFrame * pinv(S*V’);

By performing SVD with respect to the power spectral density (PSD) ofthe HOA coefficients rather than the coefficients themselves, the LITunit 30 may potentially reduce the computational complexity ofperforming the SVD in terms of one or more of processor cycles andstorage space, while achieving the same source audio encoding efficiencyas if the SVD were applied directly to the HOA coefficients. That is,the above described PSD-type SVD may be potentially less computationaldemanding because the SVD is done on an F*F matrix (with F the number ofHOA coefficients). Compared to a M*F matrix with M is the framelength,i.e., 1024 or more samples. The complexity of an SVD may now, throughapplication to the PSD rather than the HOA coefficients 11, be aroundO(L̂3) compared to O(M*L̂2) when applied to the HOA coefficients 11 (whereO(*) denotes the big-O notation of computation complexity common to thecomputer-science arts).

The parameter calculation unit 32 represents unit configured tocalculate various parameters, such as a correlation parameter (R),directional properties parameters (θ, φ, r), and an energy property (e).Each of these parameters for the current frame may be denoted as R[k],θ[k], φ[k], r[k] and e[k]. The parameter calculation unit 32 may performan energy analysis and/or correlation (or so-called cross-correlation)with respect to the US[k] vectors 33 to identify these parameters. Theparameter calculation unit 32 may also determine these parameters forthe previous frame, where the previous frame parameters may be denotedR[k−1], θ[k−1], φ[k−1], r[k−1] and e[k−1], based on the previous frameof US[k−1] vector and V[k−1] vectors. The parameter calculation unit 32may output the current parameters 37 and the previous parameters 39 toreorder unit 34.

That is, the parameter calculation unit 32 may perform an energyanalysis with respect to each of the L first US[k] vectors 33corresponding to a first time and each of the second US[k−1] vectors 33corresponding to a second time, computing a root mean squared energy forat least a portion of (but often the entire) first audio frame and aportion of (but often the entire) second audio frame and therebygenerate 2L energies, one for each of the L first US[k] vectors 33 ofthe first audio frame and one for each of the second US[k−1] vectors 33of the second audio frame.

In other examples, the parameter calculation unit 32 may perform across-correlation between some portion of (if not the entire) set ofsamples for each of the first US[k] vectors 33 and each of the secondUS[k−1] vectors 33. Cross-correlation may refer to cross-correlation asunderstood in the signal processing arts. In other words,cross-correlation may refer to a measure of similarity between twowaveforms (which in this case is defined as a discrete set of M samples)as a function of a time-lag applied to one of them. In some examples, toperform cross-correlation, the parameter calculation unit 32 comparesthe last L samples of each the first US[k] vectors 27, turn-wise, to thefirst L samples of each of the remaining ones of the second US[k−1]vectors 33 to determine a correlation parameter. As used herein, a“turn-wise” operation refers to an element by element operation madewith respect to a first set of elements and a second set of elements,where the operation draws one element from each of the first and secondsets of elements “in-turn” according to an ordering of the sets.

The parameter calculation unit 32 may also analyze the V[k] and/orV[k−1] vectors 35 to determine directional property parameters. Thesedirectional property parameters may provide an indication of movementand location of the audio object represented by the corresponding US[k]and/or US[k−1] vectors 33. The parameter calculation unit 32 may provideany combination of the foregoing current parameters 37 (determined withrespect to the US[k] vectors 33 and/or the V[k] vectors 35) and anycombination of the previous parameters 39 (determined with respect tothe US[k−1] vectors 33 and/or the V[k−1] vectors 35) to the reorder unit34.

The SVD decomposition does not guarantee that the audio signal/objectrepresented by the p-th vector in US[k−1] vectors 33, which may bedenoted as the US[k−1][p] vector (or, alternatively, as X_(PS)^((p))(k−1)), will be the same audio signal/object (progressed in time)represented by the p-th vector in the US[k] vectors 33, which may alsobe denoted as US[k][p] vectors 33 (or, alternatively as X_(PS)^((p))(k)). The parameters calculated by the parameter calculation unit32 may be used by the reorder unit 34 to re-order the audio objects torepresent their natural evaluation or continuity over time.

That is, the reorder unit 34 may then compare each of the parameters 37from the first US[k] vectors 33 turn-wise against each of the parameters39 for the second US[k−1] vectors 33. The reorder unit 34 may reorder(using, as one example, a Hungarian algorithm) the various vectorswithin the US[k] matrix 33 and the V[k] matrix 35 based on the currentparameters 37 and the previous parameters 39 to output a reordered US[k]matrix 33′ (which may be denoted mathematically as US[k]) and areordered V[k] matrix 35′ (which may be denoted mathematically as V[k])to a foreground sound (or predominant sound—PS) selection unit 36(“foreground selection unit 36”) and an energy compensation unit 38.

In other words, the reorder unit 34 may represent a unit configured toreorder the vectors within the US[k] matrix 33 to generate reorderedUS[k] matrix 33′. The reorder unit 34 may reorder the US[k] matrix 33because the order of the US[k] vectors 33 (where, again, each vector ofthe US[k] vectors 33, which again may alternatively be denoted as X_(PS)^((p))(k), may represent one or more distinct (or, in other words,predominant) mono-audio object present in the soundfield) may vary fromportions of the audio data. That is, given that the audio encodingdevice 12, in some examples, operates on these portions of the audiodata generally referred to as audio frames, the position of vectorscorresponding to these distinct mono-audio objects as represented in theUS[k] matrix 33 as derived, may vary from audio frame-to-audio frame dueto application of SVD to the frames and the varying saliency of eachaudio object form frame-to-frame.

Passing vectors within the US[k] matrix 33 directly to thepsychoacoustic audio coder unit 40 without reordering the vectors withinthe US[k] matrix 33 from audio frame-to audio frame may reduce theextent of the compression achievable for some compression schemes, suchas legacy compression schemes that perform better when mono-audioobjects are continuous (channel-wise, which is defined in this exampleby the positional order of the vectors within the US[k] matrix 33relative to one another) across audio frames. Moreover, when notreordered, the encoding of the vectors within the US[k] matrix 33 mayreduce the quality of the audio data when decoded. For example, AACencoders, which may be represented in the example of FIG. 3 by thepsychoacoustic audio coder unit 40, may more efficiently compress thereordered one or more vectors within the US[k] matrix 33′ fromframe-to-frame in comparison to the compression achieved when directlyencoding the vectors within the US[k] matrix 33 from frame-to-frame.While described above with respect to AAC encoders, the techniques maybe performed with respect to any encoder that provides bettercompression when mono-audio objects are specified across frames in aspecific order or position (channel-wise).

Various aspects of the techniques may, in this way, enable audioencoding device 12 to reorder one or more vectors (e.g., the vectorswithin the US[k] matrix 33 to generate reordered one or more vectorswithin the reordered US[k] matrix 33′ and thereby facilitate compressionof the vectors within the US[k] matrix 33 by a legacy audio encoder,such as the psychoacoustic audio coder unit 40).

For example, the reorder unit 34 may reorder one or more vectors withinthe US[k] matrix 33 from a first audio frame subsequent in time to thesecond frame to which one or more second vectors within the US[k−1]matrix 33 correspond based on the current parameters 37 and previousparameters 39. While described in the context of a first audio framebeing subsequent in time to the second audio frame, the first audioframe may precede in time the second audio frame. Accordingly, thetechniques should not be limited to the example described in thisdisclosure.

To illustrate consider the following Table 1 where each of the p vectorswithin the US[k] matrix 33 is denoted as US[k][p], where k denoteswhether the corresponding vector is from the k-th frame or the previous(k−1)-th frame and p denotes the row of the vector relative to vectorsof the same audio frame (where the US[k] matrix has (N+1)² suchvectors). As noted above, assuming N is determined to be one, p maydenote vectors one (1) through (4).

TABLE 1 Energy Under Consideration Compared To US[k-1][1] US[k][1],US[k][2], US[k][3], US[k][4] US[k-1][2] US[k][1], US[k][2], US[k][3],US[k][4] US[k-1][3] US[k][1], US[k][2], US[k][3], US[k][4] US[k-1][4]US[k][1], US[k][2], US[k][3], US[k][4]

In the above Table 1, the reorder unit 34 compares the energy computedfor US[k−1][1] to the energy computed for each of US[k][1], US[k][2],US[k][3], US[k][4], the energy computed for US[k−1][2] to the energycomputed for each of US[k][1], US[k][2], US[k][3], US[k][4], etc. Thereorder unit 34 may then discard one or more of the second US[k−1]vectors 33 of the second preceding audio frame (time-wise). Toillustrate, consider the following Table 2 showing the remaining secondUS[k−1] vectors 33:

TABLE 2 Vector Under Consideration Remaining Under ConsiderationUS[k-1][1] US[k][1], US[k][2] US[k-1][2] US[k][1], US[k][2] US[k-1][3]US[k][3], US[k][4] US[k-1][4] US[k][3], US[k][4]

In the above Table 2, the reorder unit 34 may determine, based on theenergy comparison that the energy computed for US[k−1][1] is similar tothe energy computed for each of US[k][1] and US[k][2], the energycomputed for US[k−1][2] is similar to the energy computed for each ofUS[k][1] and US[k][2], the energy computed for US[k−1][3] is similar tothe energy computed for each of US[k][3] and US[k][4], and the energycomputed for US[k−1][4] is similar to the energy computed for each ofUS[k][3] and US[k][4]. In some examples, the reorder unit 34 may performfurther energy analysis to identify a similarity between each of thefirst vectors of the US[k] matrix 33 and each of the second vectors ofthe US[k−1] matrix 33.

In other examples, the reorder unit 32 may reorder the vectors based onthe current parameters 37 and the previous parameters 39 relating tocross-correlation. In these examples, referring back to Table 2 above,the reorder unit 34 may determine the following exemplary correlationexpressed in Table 3 based on these cross-correlation parameters:

TABLE 3 Vector Under Consideration Correlates To US[k-1][1] US[k][2]US[k-1][2] US[k][1] US[k-1][3] US[k][3] US[k-1][4] US[k][4]

From the above Table 3, the reorder unit 34 determines, as one example,that US[k−1][1] vector correlates to the differently positioned US[k][2]vector, the US[k−1][2] vector correlates to the differently positionedUS[k][1] vector, the US[k−1][3] vector correlates to the similarlypositioned US[k][3] vector, and the US[k−1][4] vector correlates to thesimilarly positioned US[k][4] vector. In other words, the reorder unit34 determines what may be referred to as reorder information describinghow to reorder the first vectors of the US[k] matrix 33 such that theUS[k][2] vector is repositioned in the first row of the first vectors ofthe US[k] matrix 33 and the US[k][1] vector is repositioned in thesecond row of the first US[k] vectors 33. The reorder unit 34 may thenreorder the first vectors of the US[k] matrix 33 based on this reorderinformation to generate the reordered US[k] matrix 33′.

Additionally, the reorder unit 34 may, although not shown in the exampleof FIG. 4, provide this reorder information to the bitstream generationdevice 42, which may generate the bitstream 21 to include this reorderinformation so that the audio decoding device, such as the audiodecoding device 24 shown in the example of FIGS. 3 and 5, may determinehow to reorder the reordered vectors of the US[k] matrix 33′ so as torecover the vectors of the US[k] matrix 33.

While described above as performing a two-step process involving ananalysis based first an energy-specific parameters and thencross-correlation parameters, the reorder unit 32 may only perform thisanalysis only with respect to energy parameters to determine the reorderinformation, perform this analysis only with respect tocross-correlation parameters to determine the reorder information, orperform the analysis with respect to both the energy parameters and thecross-correlation parameters in the manner described above.Additionally, the techniques may employ other types of processes fordetermining correlation that do not involve performing one or both of anenergy comparison and/or a cross-correlation. Accordingly, thetechniques should not be limited in this respect to the examples setforth above. Moreover, other parameters obtained from the parametercalculation unit 32 (such as the spatial position parameters derivedfrom the V vectors or correlation of the vectors in the V[k] and V[k−1])can also be used (either concurrently/jointly or sequentially) withenergy and cross-correlation parameters obtained from US[k] and US[k−1]to determine the correct ordering of the vectors in US.

As one example of using correlation of the vectors in the V matrix, theparameter calculation unit 34 may determine that the vectors of the V[k]matrix 35 are correlated as specified in the following Table 4:

TABLE 4 Vector Under Consideration Correlates To V[k-1][1] V[k][2]V[k-1][2] V[k][1] V[k-1][3] V[k][3] V[k-1][4] V[k][4]From the above Table 4, the reorder unit 34 determines, as one example,that V[k−1][1] vector correlates to the differently positioned V[k][2]vector, the V[k−1][2] vector correlates to the differently positionedV[k][1] vector, the V[k−1][3] vector correlates to the similarlypositioned V[k][3] vector, and the V[k−1][4] vector correlates to thesimilarly positioned V[k][4] vector. The reorder unit 34 may output thereordered version of the vectors of the V[k] matrix 35 as a reorderedV[k] matrix 35′.

In some examples, the same re-ordering that is applied to the vectors inthe US matrix is also applied to the vectors in the V matrix. In otherwords, any analysis used in reordering the V vectors may be used inconjunction with any analysis used to reorder the US vectors. Toillustrate an example in which the reorder information is not solelydetermined with respect to the energy parameters and/or thecross-correlation parameters with respect to the US[k] vectors 35, thereorder unit 34 may also perform this analysis with respect to the V[k]vectors 35 based on the cross-correlation parameters and the energyparameters in a manner similar to that described above with respect tothe V[k] vectors 35. Moreover, while the US[k] vectors 33 do not haveany directional properties, the V[k] vectors 35 may provide informationrelating to the directionality of the corresponding US[k] vectors 33. Inthis sense, the reorder unit 34 may identify correlations between V[k]vectors 35 and V[k−1] vectors 35 based on an analysis of correspondingdirectional properties parameters. That is, in some examples, audioobject move within a soundfield in a continuous manner when moving orthat stays in a relatively stable location. As such, the reorder unit 34may identify those vectors of the V[k] matrix 35 and the V[k−1] matrix35 that exhibit some known physically realistic motion or that staystationary within the soundfield as correlated, reordering the US[k]vectors 33 and the V[k] vectors 35 based on this directional propertiescorrelation. In any event, the reorder unit 34 may output the reorderedUS[k] vectors 33′ and the reordered V[k] vectors 35′ to the foregroundselection unit 36.

Additionally, the techniques may employ other types of processes fordetermining correct order that do not involve performing one or both ofan energy comparison and/or a cross-correlation. Accordingly, thetechniques should not be limited in this respect to the examples setforth above.

Although described above as reordering the vectors of the V matrix tomirror the reordering of the vectors of the US matrix, in certaininstances, the V vectors may be reordered differently than the USvectors, where separate syntax elements may be generated to indicate thereordering of the US vectors and the reordering of the V vectors. Insome instances, the V vectors may not be reordered and only the USvectors may be reordered given that the V vectors may not bepsychoacoustically encoded.

An embodiment where the re-ordering of the vectors of the V matrix andthe vectors of US matrix are different are when the intention is to swapaudio objects in space—i.e. move them away from the original recordedposition (when the underlying soundfield was a natural recording) or theartistically intended position (when the underlying soundfield is anartificial mix of objects). As an example, suppose that there are twoaudio sources A and B, A may be the sound of a cat “meow” emanating fromthe “left” part of soundfield and B may be the sound of a dog “woof”emanating from the “right” part of the soundfield. When the re-orderingof the V and US are different, the position of the two sound sources isswapped. After swapping A (the “meow”) emanates from the right part ofthe soundfield, and B (“the woof”) emanates from the left part of thesoundfield.

The soundfield analysis unit 44 may represent a unit configured toperform a soundfield analysis with respect to the HOA coefficients 11 soas to potentially achieve a target bitrate 41. The soundfield analysisunit 44 may, based on this analysis and/or on a received target bitrate41, determine the total number of psychoacoustic coder instantiations(which may be a function of the total number of ambient or backgroundchannels (BG_(TOT)) and the number of foreground channels or, in otherwords, predominant channels. The total number of psychoacoustic coderinstantiations can be denoted as numHOATransportChannels. The soundfieldanalysis unit 44 may also determine, again to potentially achieve thetarget bitrate 41, the total number of foreground channels (nFG) 45, theminimum order of the background (or, in other words, ambient) soundfield(N_(BG) or, alternatively, MinAmbHoaOrder), the corresponding number ofactual channels representative of the minimum order of backgroundsoundfield (nBGa=(MinAmbHoaOrder+1)²), and indices (i) of additional BGHOA channels to send (which may collectively be denoted as backgroundchannel information 43 in the example of FIG. 4). The background channelinformation 42 may also be referred to as ambient channel information43. Each of the channels that remains from numHOATransportChannels−nBGa,may either be an “additional background/ambient channel”, an “activevector based predominant channel”, an “active directional basedpredominant signal” or “completely inactive”. In one embodiment, thesechannel types may be indicated (as a “ChannelType”) syntax element bytwo bits (e.g. 00:additional background channel; 01:vector basedpredominant signal; 10: inactive signal; 11: directional based signal).The total number of background or ambient signals, nBGa, may be given by(MinAmbHoaOrder+1)²+the number of times the index 00 (in the aboveexample) appears as a channel type in the bitstream for that frame.

In any event, the soundfield analysis unit 44 may select the number ofbackground (or, in other words, ambient) channels and the number offoreground (or, in other words, predominant) channels based on thetarget bitrate 41, selecting more background and/or foreground channelswhen the target bitrate 41 is relatively higher (e.g., when the targetbitrate 41 equals or is greater than 512 Kbps). In one embodiment, thenumHOATransportChannels may be set to 8 while the MinAmbHoaOrder may beset to 1 in the header section of the bitstream (which is described inmore detail with respect to FIGS. 10-10O(ii). In this scenario, at everyframe, four channels may be dedicated to represent the background orambient portion of the soundfield while the other 4 channels can, on aframe-by-frame basis vary on the type of channel—e.g., either used as anadditional background/ambient channel or a foreground/predominantchannel. The foreground/predominant signals can be one of either vectorbased or directional based signals, as described above.

In some instances, the total number of vector based predominant signalsfor a frame, may be given by the number of times the ChannelType indexis 01, in the bitstream of that frame, in the above example. In theabove embodiment, for every additional background/ambient channel (e.g.,corresponding to a ChannelType of 00), a corresponding information ofwhich of the possible HOA coefficients (beyond the first four) may berepresented in that channel. This information, for fourth order HOAcontent, may be an index to indicate between 5-25 (the first four 1-4may be sent all the time when minAmbHoaOrder is set to 1, hence onlyneed to indicate one between 5-25). This information could thus be sentusing a 5 bits syntax element (for 4^(th) order content), which may bedenoted as “CodedAmbCoeffIdx.”

In a second embodiment, all of the foreground/predominant signals arevector based signals. In this second embodiment, the total number offoreground/predominant signals may be given bynFG=numHOATransportChannels−[(MinAmbHoaOrder+1)²+the number of times theindex 00].

The soundfield analysis unit 44 outputs the background channelinformation 43 and the HOA coefficients 11 to the background (BG)selection unit 46, the background channel information 43 to coefficientreduction unit 46 and the bitstream generation unit 42, and the nFG 45to a foreground selection unit 36.

In some examples, the soundfield analysis unit 44 may select, based onan analysis of the vectors of the US[k] matrix 33 and the target bitrate41, a variable nFG number of these components having the greatest value.In other words, the soundfield analysis unit 44 may determine a valuefor a variable A (which may be similar or substantially similar toN_(BG)), which separates two subspaces, by analyzing the slope of thecurve created by the descending diagonal values of the vectors of theS[k] matrix 33, where the large singular values represent foreground ordistinct sounds and the low singular values represent backgroundcomponents of the soundfield. That is, the variable A may segment theoverall soundfield into a foreground subspace and a background subspace.

In some examples, the soundfield analysis unit 44 may use a first and asecond derivative of the singular value curve. The soundfield analysisunit 44 may also limit the value for the variable A to be between oneand five. As another example, the soundfield analysis unit 44 may limitthe value of the variable A to be between one and (N+1)². Alternatively,the soundfield analysis unit 44 may pre-define the value for thevariable A, such as to a value of four. In any event, based on the valueof A, the soundfield analysis unit 44 determines the total number offoreground channels (nFG) 45, the order of the background soundfield(N_(BG)) and the number (nBGa) and the indices (i) of additional BG HOAchannels to send.

Furthermore, the soundfield analysis unit 44 may determine the energy ofthe vectors in the V[k] matrix 35 on a per vector basis. The soundfieldanalysis unit 44 may determine the energy for each of the vectors in theV[k] matrix 35 and identify those having a high energy as foregroundcomponents.

Moreover, the soundfield analysis unit 44 may perform various otheranalyses with respect to the HOA coefficients 11, including a spatialenergy analysis, a spatial masking analysis, a diffusion analysis orother forms of auditory analyses. The soundfield analysis unit 44 mayperform the spatial energy analysis through transformation of the HOAcoefficients 11 into the spatial domain and identifying areas of highenergy representative of directional components of the soundfield thatshould be preserved. The soundfield analysis unit 44 may perform theperceptual spatial masking analysis in a manner similar to that of thespatial energy analysis, except that the soundfield analysis unit 44 mayidentify spatial areas that are masked by spatially proximate higherenergy sounds. The soundfield analysis unit 44 may then, based onperceptually masked areas, identify fewer foreground components in someinstances. The soundfield analysis unit 44 may further perform adiffusion analysis with respect to the HOA coefficients 11 to identifyareas of diffuse energy that may represent background components of thesoundfield.

The soundfield analysis unit 44 may also represent a unit configured todetermine saliency, distinctness or predominance of audio datarepresenting a soundfield, using directionality-based informationassociated with the audio data. While energy-based determinations mayimprove rendering of a soundfield decomposed by SVD to identify distinctaudio components of the soundfield, energy-based determinations may alsocause a device to erroneously identify background audio components asdistinct audio components, in cases where the background audiocomponents exhibit a high energy level. That is, a solely energy-basedseparation of distinct and background audio components may not berobust, as energetic (e.g., louder) background audio components may beincorrectly identified as being distinct audio components. To morerobustly distinguish between distinct and background audio components ofthe soundfield, various aspects of the techniques described in thisdisclosure may enable the soundfield analysis unit 44 to perform adirectionality-based analysis of the HOA coefficients 11 to separateforeground and ambient audio components from decomposed versions of theHOA coefficients 11.

In this respect, the soundfield analysis unit 44 may represent a unitconfigured or otherwise operable to identify distinct (or foreground)elements from background elements included in one or more of the vectorsin the US[k] matrix 33 and the vectors in the V[k] matrix 35. Accordingto some SVD-based techniques, the most energetic components (e.g., thefirst few vectors of one or more of the US[k] matrix 33 and the V[k]matrix 35 or vectors derived therefrom) may be treated as distinctcomponents. However, the most energetic components (which arerepresented by vectors) of one or more of the vectors in the US[k]matrix 33 and the vectors in the V[k] matrix 35 may not, in allscenarios, represent the components/signals that are the mostdirectional.

The soundfield analysis unit 44 may implement one or more aspects of thetechniques described herein to identify foreground/direct/predominantelements based on the directionality of the vectors of one or more ofthe vectors in the US[k] matrix 33 and the vectors in the V[k] matrix 35or vectors derived therefrom. In some examples, the soundfield analysisunit 44 may identify or select as distinct audio components (where thecomponents may also be referred to as “objects”), one or more vectorsbased on both energy and directionality of the vectors. For instance,the soundfield analysis unit 44 may identify those vectors of one ormore of the vectors in the US[k] matrix 33 and the vectors in the V[k]matrix 35 (or vectors derived therefrom) that display both high energyand high directionality (e.g., represented as a directionality quotient)as distinct audio components. As a result, if the soundfield analysisunit 44 determines that a particular vector is relatively lessdirectional when compared to other vectors of one or more of the vectorsin the US[k] matrix 33 and the vectors in the V[k] matrix 35 (or vectorsderived therefrom), then regardless of the energy level associated withthe particular vector, the soundfield analysis unit 44 may determinethat the particular vector represents background (or ambient) audiocomponents of the soundfield represented by the HOA coefficients 11.

In some examples, the soundfield analysis unit 44 may identify distinctaudio objects (which, as noted above, may also be referred to as“components”) based on directionality, by performing the followingoperations. The soundfield analysis unit 44 may multiply (e.g., usingone or more matrix multiplication processes) vectors in the S[k] matrix(which may be derived from the US[k] vectors 33 or, although not shownin the example of FIG. 4 separately output by the LIT unit 30) by thevectors in the V[k] matrix 35. By multiplying the V[k] matrix 35 and theS[k] vectors, the soundfield analysis unit 44 may obtain VS[k] matrix.Additionally, the soundfield analysis unit 44 may square (i.e.,exponentiate by a power of two) at least some of the entries of each ofthe vectors in the VS[k] matrix. In some instances, the soundfieldanalysis unit 44 may sum those squared entries of each vector that areassociated with an order greater than 1.

As one example, if each vector of the VS[k] matrix, which includes 25entries, the soundfield analysis unit 44 may, with respect to eachvector, square the entries of each vector beginning at the fifth entryand ending at the twenty-fifth entry, summing the squared entries todetermine a directionality quotient (or a directionality indicator).Each summing operation may result in a directionality quotient for acorresponding vector. In this example, the soundfield analysis unit 44may determine that those entries of each row that are associated with anorder less than or equal to 1, namely, the first through fourth entries,are more generally directed to the amount of energy and less to thedirectionality of those entries. That is, the lower order ambisonicsassociated with an order of zero or one correspond to spherical basisfunctions that, as illustrated in FIG. 1 and FIG. 2, do not provide muchin terms of the direction of the pressure wave, but rather provide somevolume (which is representative of energy).

The operations described in the example above may also be expressedaccording to the following pseudo-code. The pseudo-code below includesannotations, in the form of comment statements that are included withinconsecutive instances of the character strings “/*” and “*/” (withoutquotes).

  [U,S,V] = svd(audioframe,‘ecom’);   VS = V*S;   /* The next line isdirected to analyzing each row independently, and summing the values inthe first (as one example) row from the fifth entry to the twenty-fifthentry to determine a directionality quotient or directionality metricfor a corresponding vector. Square the entries before summing. Theentries in each row that are associated with an order greater than 1 areassociated with higher order ambisonics, and are thus more likely to bedirectional. */   sumVS = sum(VS(5:end,:).{circumflex over ( )}2,1);  /* The next line is directed to sorting the sum of squares for thegenerated VS matrix, and selecting a set of the largest values (e.g.,three or four of the largest values) */   [~,idxVS] =sort(sumVS,‘descend’);   U = U(:,idxVS);   V = V(:,idxVS);   S =S(idxVS,idxVS);

In other words, according to the above pseudo-code, the soundfieldanalysis unit 44 may select entries of each vector of the VS[k] matrixdecomposed from those of the HOA coefficients 11 corresponding to aspherical basis function having an order greater than one. Thesoundfield analysis unit 44 may then square these entries for eachvector of the VS [k] matrix, summing the squared entries to identify,compute or otherwise determine a directionality metric or quotient foreach vector of the VS [k] matrix. Next, the soundfield analysis unit 44may sort the vectors of the VS[k] matrix based on the respectivedirectionality metrics of each of the vectors. The soundfield analysisunit 44 may sort these vectors in a descending order of directionalitymetrics, such that those vectors with the highest correspondingdirectionality are first and those vectors with the lowest correspondingdirectionality are last. The soundfield analysis unit 44 may then selectthe a non-zero subset of the vectors having the highest relativedirectionality metric.

The soundfield analysis unit 44 may perform any combination of theforegoing analyses to determine the total number of psychoacoustic coderinstantiations (which may be a function of the total number of ambientor background channels (BG_(TOT)) and the number of foreground channels.The soundfield analysis unit 44 may, based on any combination of theforegoing analyses, determine the total number of foreground channels(nFG) 45, the order of the background soundfield (N_(BG)) and the number(nBGa) and indices (i) of additional BG HOA channels to send (which maycollectively be denoted as background channel information 43 in theexample of FIG. 4).

In some examples, the soundfield analysis unit 44 may perform thisanalysis every M-samples, which may be restated as on a frame-by-framebasis. In this respect, the value for A may vary from frame to frame. Aninstance of a bitstream where the decision is made every M-samples isshown in FIGS. 10-10O(ii). In other examples, the soundfield analysisunit 44 may perform this analysis more than once per frame, analyzingtwo or more portions of the frame. Accordingly, the techniques shouldnot be limited in this respect to the examples described in thisdisclosure.

The background selection unit 48 may represent a unit configured todetermine background or ambient HOA coefficients 47 based on thebackground channel information (e.g., the background soundfield (N_(BG))and the number (nBGa) and the indices (i) of additional BG HOA channelsto send). For example, when N_(BG) equals one, the background selectionunit 48 may select the HOA coefficients 11 for each sample of the audioframe having an order equal to or less than one. The backgroundselection unit 48 may, in this example, then select the HOA coefficients11 having an index identified by one of the indices (i) as additional BGHOA coefficients, where the nBGa is provided to the bitstream generationunit 42 to be specified in the bitstream 21 so as to enable the audiodecoding device, such as the audio decoding device 24 shown in theexample of FIG. 3, to parse the BG HOA coefficients 47 from thebitstream 21. The background selection unit 48 may then output theambient HOA coefficients 47 to the energy compensation unit 38. Theambient HOA coefficients 47 may have dimensions D: M×[(N_(BG)+1)²+nBGa].

The foreground selection unit 36 may represent a unit configured toselect those of the reordered US[k] matrix 33′ and the reordered V[k]matrix 35′ that represent foreground or distinct components of thesoundfield based on nFG 45 (which may represent a one or more indicesidentifying these foreground vectors). The foreground selection unit 36may output nFG signals 49 (which may be denoted as a reorderedUS[k]_(1, . . . , nFG) 49, FG_(1, . . . , nfG)[k] 49, or X_(PS)^((1 . . . nFG))(k) 49) to the psychoacoustic audio coder unit 40, wherethe nFG signals 49 may have dimensions D: M×nFG and each representmono-audio objects. The foreground selection unit 36 may also output thereordered V[k] matrix 35′ (or v^((1 . . . nFG))(k) 35′) corresponding toforeground components of the soundfield to the spatio-temporalinterpolation unit 50, where those of the reordered V[k] matrix 35′corresponding to the foreground components may be denoted as foregroundV[k] matrix 51 _(k) (which may be mathematically denoted as V_(1, . . . , nFG)[k] having dimensions D: (N+1)²×nFG.

The energy compensation unit 38 may represent a unit configured toperform energy compensation with respect to the ambient HOA coefficients47 to compensate for energy loss due to removal of various ones of theHOA channels by the background selection unit 48. The energycompensation unit 38 may perform an energy analysis with respect to oneor more of the reordered US[k] matrix 33′, the reordered V[k] matrix35′, the nFG signals 49, the foreground V[k] vectors 51 _(k) and theambient HOA coefficients 47 and then perform energy compensation basedon this energy analysis to generate energy compensated ambient HOAcoefficients 47′. The energy compensation unit 38 may output the energycompensated ambient HOA coefficients 47′ to the psychoacoustic audiocoder unit 40.

Effectively, the energy compensation unit 38 may be used to compensatefor possible reductions in the overall energy of the background soundcomponents of the soundfield caused by reducing the order of the ambientcomponents of the soundfield described by the HOA coefficients 11 togenerate the order-reduced ambient HOA coefficients 47 (which, in someexamples, have an order less than N in terms of only includedcoefficients corresponding to spherical basis functions having thefollowing orders/sub-orders: [(N_(BG)+1)²+nBGa]). In some examples, theenergy compensation unit 38 compensates for this loss of energy bydetermining a compensation gain in the form of amplification values toapply to each of the [(N_(BG)+1)²+nBGa] columns of the ambient HOAcoefficients 47 in order to increase the root mean-squared (RMS) energyof the ambient HOA coefficients 47 to equal or at least more nearlyapproximate the RMS of the HOA coefficients 11 (as determined throughaggregate energy analysis of one or more of the reordered US[k] matrix33′, the reordered V[k] matrix 35′, the nFG signals 49, the foregroundV[k] vectors 51 _(k) and the order-reduced ambient HOA coefficients 47),prior to outputting ambient HOA coefficients 47 to the psychoacousticaudio coder unit 40.

In some instances, the energy compensation unit 38 may identify the RMSfor each row and/or column of on one or more of the reordered US[k]matrix 33′ and the reordered V[k] matrix 35′. The energy compensationunit 38 may also identify the RMS for each row and/or column of one ormore of the selected foreground channels, which may include the nFGsignals 49 and the foreground V[k] vectors 51 _(k), and theorder-reduced ambient HOA coefficients 47. The RMS for each row and/orcolumn of the one or more of the reordered US[k] matrix 33′ and thereordered V[k] matrix 35′ may be stored to a vector denoted RMS_(FULL),while the RMS for each row and/or column of one or more of the nFGsignals 49, the foreground V[k] vectors 51 _(k), and the order-reducedambient HOA coefficients 47 may be stored to a vector denotedRMS_(REDUCED). The energy compensation unit 38 may then compute anamplification value vector Z, in accordance with the following equation:Z=RMS_(FULL)/RMS_(REDUCED). The energy compensation unit 38 may thenapply this amplification value vector Z or various portions thereof toone or more of the nFG signals 49, the foreground V[k] vectors 51 _(k),and the order-reduced ambient HOA coefficients 47. In some instances,the amplification value vector Z is applied to only the order-reducedambient HOA coefficients 47 per the following equationHOA_(BG-RED)′=HOA_(BG-RED)Z^(T), where HOA_(BG-RED) denotes theorder-reduced ambient HOA coefficients 47, HOA_(BG-RED)′ denotes theenergy compensated, reduced ambient HOA coefficients 47′ and Z^(T)denotes the transpose of the Z vector.

In some examples, to determine each RMS of respective rows and/orcolumns of one or more of the reordered US[k] matrix 33′, the reorderedV[k] matrix 35′, the nFG signals 49, the foreground V[k] vectors 51_(k), and the order-reduced ambient HOA coefficients 47, the energycompensation unit 38 may first apply a reference spherical harmonicscoefficients (SHC) renderer to the columns. Application of the referenceSHC renderer by the energy compensation unit 38 allows for determinationof RMS in the SHC domain to determine the energy of the overallsoundfield described by each row and/or column of the frame representedby rows and/or columns of one or more of the reordered US[k] matrix 33′,the reordered V[k] matrix 35′, the nFG signals 49, the foreground V[k]vectors 51 _(k), and the order-reduced ambient HOA coefficients 47, asdescribed in more detail below.

The spatio-temporal interpolation unit 50 may represent a unitconfigured to receive the foreground V[k] vectors 51 _(k) for the k'thframe and the foreground V[k−1] vectors 51 _(k-1) for the previous frame(hence the k−1 notation) and perform spatio-temporal interpolation togenerate interpolated foreground V[k] vectors. The spatio-temporalinterpolation unit 50 may recombine the nFG signals 49 with theforeground V[k] vectors 51 _(k) to recover reordered foreground HOAcoefficients. The spatio-temporal interpolation unit 50 may then dividethe reordered foreground HOA coefficients by the interpolated V[k]vectors to generate interpolated nFG signals 49′. The spatio-temporalinterpolation unit 50 may also output those of the foreground V[k]vectors 51 _(k) that were used to generate the interpolated foregroundV[k] vectors so that an audio decoding device, such as the audiodecoding device 24, may generate the interpolated foreground V[k]vectors and thereby recover the foreground V[k] vectors 51 _(k). Thoseof the foreground V[k] vectors 51 _(k) used to generate the interpolatedforeground V[k] vectors are denoted as the remaining foreground V[k]vectors 53. In order to ensure that the same V[k] and V[k−1] are used atthe encoder and decoder (to create the interpolated vectors V[k])quantized/dequantized versions of these may be used at the encoder anddecoder.

In this respect, the spatio-temporal interpolation unit 50 may representa unit that interpolates a first portion of a first audio frame fromsome other portions of the first audio frame and a second temporallysubsequent or preceding audio frame. In some examples, the portions maybe denoted as sub-frames, where interpolation as performed with respectto sub-frames is described in more detail below with respect to FIGS.45-46E. In other examples, the spatio-temporal interpolation unit 50 mayoperate with respect to some last number of samples of the previousframe and some first number of samples of the subsequent frame, asdescribed in more detail with respect to FIGS. 37-39. Thespatio-temporal interpolation unit 50 may, in performing thisinterpolation, reduce the number of samples of the foreground V[k]vectors 51 _(k) that are required to be specified in the bitstream 21,as only those of the foreground V[k] vectors 51 _(k) that are used togenerate the interpolated V[k] vectors represent a subset of theforeground V[k] vectors 51 _(k). That is, in order to potentially makecompression of the HOA coefficients 11 more efficient (by reducing thenumber of the foreground V[k] vectors 51 _(k) that are specified in thebitstream 21), various aspects of the techniques described in thisdisclosure may provide for interpolation of one or more portions of thefirst audio frame, where each of the portions may represent decomposedversions of the HOA coefficients 11.

The spatio-temporal interpolation may result in a number of benefits.First, the nFG signals 49 may not be continuous from frame to frame dueto the block-wise nature in which the SVD or other LIT is performed. Inother words, given that the LIT unit 30 applies the SVD on aframe-by-frame basis, certain discontinuities may exist in the resultingtransformed HOA coefficients as evidence for example by the unorderednature of the US[k] matrix 33 and V[k] matrix 35. By performing thisinterpolation, the discontinuity may be reduced given that interpolationmay have a smoothing effect that potentially reduces any artifactsintroduced due to frame boundaries (or, in other words, segmentation ofthe HOA coefficients 11 into frames). Using the foreground V[k] vectors51 _(k) to perform this interpolation and then generating theinterpolated nFG signals 49′ based on the interpolated foreground V[k]vectors 51 _(k) from the recovered reordered HOA coefficients may smoothat least some effects due to the frame-by-frame operation as well as dueto reordering the nFG signals 49.

In operation, the spatio-temporal interpolation unit 50 may interpolateone or more sub-frames of a first audio frame from a firstdecomposition, e.g., foreground V[k] vectors 51 _(k), of a portion of afirst plurality of the HOA coefficients 11 included in the first frameand a second decomposition, e.g., foreground V[k] vectors 54 _(k-1), ofa portion of a second plurality of the HOA coefficients 11 included in asecond frame to generate decomposed interpolated spherical harmoniccoefficients for the one or more sub-frames.

In some examples, the first decomposition comprises the first foregroundV[k] vectors 51 _(k) representative of right-singular vectors of theportion of the HOA coefficients 11. Likewise, in some examples, thesecond decomposition comprises the second foreground V[k] vectors 51_(k) representative of right-singular vectors of the portion of the HOAcoefficients 11.

In other words, spherical harmonics-based 3D audio may be a parametricrepresentation of the 3D pressure field in terms of orthogonal basisfunctions on a sphere. The higher the order N of the representation, thepotentially higher the spatial resolution, and often the larger thenumber of spherical harmonics (SH) coefficients (for a total of (N+1)²coefficients). For many applications, a bandwidth compression of thecoefficients may be required for being able to transmit and store thecoefficients efficiently. This techniques directed in this disclosuremay provide a frame-based, dimensionality reduction process usingSingular Value Decomposition (SVD). The SVD analysis may decompose eachframe of coefficients into three matrices U, S and V. In some examples,the techniques may handle some of the vectors in US[k] matrix asforeground components of the underlying soundfield. However, whenhandled in this manner, these vectors (in U S[k] matrix) arediscontinuous from frame to frame—even though they represent the samedistinct audio component. These discontinuities may lead to significantartifacts when the components are fed through transform-audio-coders.

The techniques described in this disclosure may address thisdiscontinuity. That is, the techniques may be based on the observationthat the V matrix can be interpreted as orthogonal spatial axes in theSpherical Harmonics domain. The U[k] matrix may represent a projectionof the Spherical Harmonics (HOA) data in terms of those basis functions,where the discontinuity can be attributed to orthogonal spatial axis(V[k]) that change every frame—and are therefore discontinuousthemselves. This is unlike similar decomposition, such as the FourierTransform, where the basis functions are, in some examples, constantfrom frame to frame. In these terms, the SVD may be considered of as amatching pursuit algorithm. The techniques described in this disclosuremay enable the spatio-temporal interpolation unit 50 to maintain thecontinuity between the basis functions (V[k]) from frame to frame—byinterpolating between them.

As noted above, the interpolation may be performed with respect tosamples. This case is generalized in the above description when thesubframes comprise a single set of samples. In both the case ofinterpolation over samples and over subframes, the interpolationoperation may take the form of the following equation:

v(l)=w(l)v(k)+(1−w(l))v(k−1).

In this above equation, the interpolation may be performed with respectto the single V-vector v(k) from the single V-vector v(k−1), which inone embodiment could represent V-vectors from adjacent frames k and k−1.In the above equation, l, represents the resolution over which theinterpolation is being carried out, where l may indicate a integersample and l=1, . . . , T (where T is the length of samples over whichthe interpolation is being carried out and over which the outputinterpolated vectors, v(l) are required and also indicates that theoutput of this process produces l of these vectors). Alternatively, lcould indicate subframes consisting of multiple samples. When, forexample, a frame is divided into four subframes, l may comprise valuesof 1, 2, 3 and 4, for each one of the subframes. The value of l may besignaled as a field termed “CodedSpatialInterpolationTime” through abitstream—so that the interpolation operation may be replicated in thedecoder. The w(l) may comprise values of the interpolation weights. Whenthe interpolation is linear, w(l) may vary linearly and monotonicallybetween 0 and 1, as a function of 1. In other instances, w(l) may varybetween 0 and 1 in a non-linear but monotonic fashion (such as a quartercycle of a raised cosine) as a function of 1. The function, w(l), may beindexed between a few different possibilities of functions and signaledin the bitstream as a field termed “SpatialInterpolationMethod” suchthat the identical interpolation operation may be replicated by thedecoder. When w(l) is a value close to 0, the output, v(l) may be highlyweighted or influenced by v(k−1). Whereas when w(l) is a value close to1, it ensures that the output, v(l), is highly weighted or influenced byv(k−1).

The coefficient reduction unit 46 may represent a unit configured toperform coefficient reduction with respect to the remaining foregroundV[k] vectors 53 based on the background channel information 43 to outputreduced foreground V[k] vectors 55 to the quantization unit 52. Thereduced foreground V[k] vectors 55 may have dimensions D:[(N+1)²−(N_(BG)+1)²−nBGa]×nFG.

The coefficient reduction unit 46 may, in this respect, represent a unitconfigured to reduce the number of coefficients of the remainingforeground V[k] vectors 53. In other words, coefficient reduction unit46 may represent a unit configured to eliminate those coefficients ofthe foreground V[k] vectors (that form the remaining foreground V[k]vectors 53) having little to no directional information. As describedabove, in some examples, those coefficients of the distinct or, in otherwords, foreground V[k] vectors corresponding to a first and zero orderbasis functions (which may be denoted as N_(BG)) provide littledirectional information and therefore can be removed from the foregroundV vectors (through a process that may be referred to as “coefficientreduction”). In this example, greater flexibility may be provided to notonly identify these coefficients that correspond N_(BG) but to identifyadditional HOA channels (which may be denoted by the variableTotalOfAddAmbHOAChan) from the set of [(N_(BG)+1)²+1, (N+1)²]. Thesoundfield analysis unit 44 may analyze the HOA coefficients 11 todetermine BG_(TOT), which may identify not only the (N_(BG)+1)² but theTotalOfAddAmbHOAChan, which may collectively be referred to as thebackground channel information 43. The coefficient reduction unit 46 maythen remove those coefficients corresponding to the (N_(BG)+1)² and theTotalOfAddAmbHOAChan from the remaining foreground V[k] vectors 53 togenerate a smaller dimensional V[k] matrix 55 of size((N+1)²−(BG_(TOT))×nFG, which may also be referred to as the reducedforeground V[k] vectors 55.

The quantization unit 52 may represent a unit configured to perform anyform of quantization to compress the reduced foreground V[k] vectors 55to generate coded foreground V[k] vectors 57, outputting these codedforeground V[k] vectors 57 to the bitstream generation unit 42. Inoperation, the quantization unit 52 may represent a unit configured tocompress a spatial component of the soundfield, i.e., one or more of thereduced foreground V[k] vectors 55 in this example. For purposes ofexample, the reduced foreground V[k] vectors 55 are assumed to includetwo row vectors having, as a result of the coefficient reduction, lessthan 25 elements each (which implies a fourth order HOA representationof the soundfield). Although described with respect to two row vectors,any number of vectors may be included in the reduced foreground V[k]vectors 55 up to (n+1)², where n denotes the order of the HOArepresentation of the soundfield. Moreover, although described below asperforming a scalar and/or entropy quantization, the quantization unit52 may perform any form of quantization that results in compression ofthe reduced foreground V[k] vectors 55.

The quantization unit 52 may receive the reduced foreground V[k] vectors55 and perform a compression scheme to generate coded foreground V[k]vectors 57. This compression scheme may involve any conceivablecompression scheme for compressing elements of a vector or datagenerally, and should not be limited to the example described below inmore detail. The quantization unit 52 may perform, as an example, acompression scheme that includes one or more of transforming floatingpoint representations of each element of the reduced foreground V[k]vectors 55 to integer representations of each element of the reducedforeground V[k] vectors 55, uniform quantization of the integerrepresentations of the reduced foreground V[k] vectors 55 andcategorization and coding of the quantized integer representations ofthe remaining foreground V[k] vectors 55.

In some examples, various of the one or more processes of thiscompression scheme may be dynamically controlled by parameters toachieve or nearly achieve, as one example, a target bitrate for theresulting bitstream 21. Given that each of the reduced foreground V[k]vectors 55 are orthonormal to one another, each of the reducedforeground V[k] vectors 55 may be coded independently. In some examples,as described in more detail below, each element of each reducedforeground V[k] vectors 55 may be coded using the same coding mode(defined by various sub-modes).

In any event, as noted above, this coding scheme may first involvetransforming the floating point representations of each element (whichis, in some examples, a 32-bit floating point number) of each of thereduced foreground V[k] vectors 55 to a 16-bit integer representation.The quantization unit 52 may perform thisfloating-point-to-integer-transformation by multiplying each element ofa given one of the reduced foreground V[k] vectors 55 by 2¹⁵, which is,in some examples, performed by a right shift by 15.

The quantization unit 52 may then perform uniform quantization withrespect to all of the elements of the given one of the reducedforeground V[k] vectors 55. The quantization unit 52 may identify aquantization step size based on a value, which may be denoted as annbits parameter. The quantization unit 52 may dynamically determine thisnbits parameter based on the target bitrate 41. The quantization unit 52may determining the quantization step size as a function of this nbitsparameter. As one example, the quantization unit 52 may determine thequantization step size (denoted as “delta” or “Δ” in this disclosure) asequal to 2^(16-nbits). In this example, if nbits equals six, deltaequals 2¹⁰ and there are 2⁶ quantization levels. In this respect, for avector element v, the quantized vector element v_(q) equals [v/Δ] and−2^(nbz-1)<v_(q)<2^(nbits-1).

The quantization unit 52 may then perform categorization and residualcoding of the quantized vector elements. As one example, thequantization unit 52 may, for a given quantized vector element v_(q)identify a category (by determining a category identifier cid) to whichthis element corresponds using the following equation:

${cid} = \left\{ \begin{matrix}{0,} & {{{if}\mspace{14mu} v_{q}} = 0} \\{{\left\lfloor {\log_{2}{v_{q}}} \right\rfloor + 1},} & {{{if}\mspace{14mu} v_{q}} \neq 0}\end{matrix} \right.$

The quantization unit 52 may then Huffman code this category index cid,while also identifying a sign bit that indicates whether v_(q) is apositive value or a negative value. The quantization unit 52 may nextidentify a residual in this category. As one example, the quantizationunit 52 may determine this residual in accordance with the followingequation:

residual=|v _(q)|−2^(cid−1)

The quantization unit 52 may then block code this residual with cid−1bits.

The following example illustrates a simplified example of thiscategorization and residual coding process. First, assume nbits equalssix so that v_(q)ε[−31,31]. Next, assume the following:

Huffman cid vq Code for cid 0 0 ‘1’ 1 −1, 1 ‘01’ 2 −3,−2, 2,3 ‘000’ 3−7,−6,−5,−4, 4,5,6,7 ‘0010’ 4 −15,−14,...,−8, 8,...,14,15 ‘00110’ 5−31,−30,...,−16, 16,...,30,31 ‘00111’Also, assume the following:

cid Block Code for Residual 0 N/A 1 0, 1 2 01,00, 10,11 3011,010,001,000, 100,101,110,111 4 0111,0110...,0000, 1000,...,1110,11115 01111, ... ,00000, 10000, ... ,11111Thus, for a v_(q)=[6, −17, 0, 0, 3], the following may be determined:

-   -   cid=3,5,0,0,2    -   sign=1,0,x,x,1    -   residual=2,1,x,x,1    -   Bits for 6=‘0010’+‘1’+‘10’    -   Bits for −17=‘00111’+‘0’+‘0001’    -   Bits for 0=‘0’    -   Bits for 0=‘0’    -   Bits for 3=‘000’+‘1’+‘1’    -   Total bits=7+10+1+1+5=24    -   Average bits=24/5=4.8

While not shown in the foregoing simplified example, the quantizationunit 52 may select different Huffman code books for different values ofnbits when coding the cid. In some examples, the quantization unit 52may provide a different Huffman coding table for nbits values 6, . . . ,15. Moreover, the quantization unit 52 may include five differentHuffman code books for each of the different nbits values ranging from6, . . . , 15 for a total of 50 Huffman code books. In this respect, thequantization unit 52 may include a plurality of different Huffman codebooks to accommodate coding of the cid in a number of differentstatistical contexts.

To illustrate, the quantization unit 52 may, for each of the nbitsvalues, include a first Huffman code book for coding vector elements onethrough four, a second Huffman code book for coding vector elements fivethrough nine, a third Huffman code book for coding vector elements nineand above. These first three Huffman code books may be used when the oneof the reduced foreground V[k] vectors 55 to be compressed is notpredicted from a temporally subsequent corresponding one of the reducedforeground V[k] vectors 55 and is not representative of spatialinformation of a synthetic audio object (one defined, for example,originally by a pulse code modulated (PCM) audio object). Thequantization unit 52 may additionally include, for each of the nbitsvalues, a fourth Huffman code book for coding the one of the reducedforeground V[k] vectors 55 when this one of the reduced foreground V[k]vectors 55 is predicted from a temporally subsequent corresponding oneof the reduced foreground V[k] vectors 55. The quantization unit 52 mayalso include, for each of the nbits values, a fifth Huffman code bookfor coding the one of the reduced foreground V[k] vectors 55 when thisone of the reduced foreground V[k] vectors 55 is representative of asynthetic audio object. The various Huffman code books may be developedfor each of these different statistical contexts, i.e., thenon-predicted and non-synthetic context, the predicted context and thesynthetic context in this example.

The following table illustrates the Huffman table selection and the bitsto be specified in the bitstream to enable the decompression unit toselect the appropriate Huffman table:

Pred mode HT info HT table 0 0 HT5 0 1 HT{1,2,3} 1 0 HT4 1 1 HT5In the foregoing table, the prediction mode (“Pred mode”) indicateswhether prediction was performed for the current vector, while theHuffman Table (“HT info”) indicates additional Huffman code book (ortable) information used to select one of Huffman tables one throughfive.

The following table further illustrates this Huffman table selectionprocess given various statistical contexts or scenarios.

Recording Synthetic W/O Pred HT{1,2,3} HT5 With Pred HT4 HT5In the foregoing table, the “Recording” column indicates the codingcontext when the vector is representative of an audio object that wasrecorded while the “Synthetic” column indicates a coding context forwhen the vector is representative of a synthetic audio object. The “W/OPred” row indicates the coding context when prediction is not performedwith respect to the vector elements, while the “With Pred” row indicatesthe coding context when prediction is performed with respect to thevector elements. As shown in this table, the quantization unit 52selects HT {1, 2, 3} when the vector is representative of a recordedaudio object and prediction is not performed with respect to the vectorelements. The quantization unit 52 selects HT5 when the audio object isrepresentative of a synthetic audio object and prediction is notperformed with respect to the vector elements. The quantization unit 52selects HT4 when the vector is representative of a recorded audio objectand prediction is performed with respect to the vector elements. Thequantization unit 52 selects HT5 when the audio object is representativeof a synthetic audio object and prediction is performed with respect tothe vector elements.

In this respect, the quantization unit 52 may perform the above notedscalar quantization and/or Huffman encoding to compress the reducedforeground V[k] vectors 55, outputting the coded foreground V[k] vectors57, which may be referred to as side channel information 57. This sidechannel information 57 may include syntax elements used to code theremaining foreground V[k] vectors 55. The quantization unit 52 mayoutput the side channel information 57 in a manner similar to that shownin the example of one of FIGS. 10B and 10C.

As noted above, the quantization unit 52 may generate syntax elementsfor the side channel information 57. For example, the quantization unit52 may specify a syntax element in a header of an access unit (which mayinclude one or more frames) denoting which of the plurality ofconfiguration modes was selected. Although described as being specifiedon a per access unit basis, quantization unit 52 may specify this syntaxelement on a per frame basis or any other periodic basis or non-periodicbasis (such as once for the entire bitstream). In any event, this syntaxelement may comprise two bits indicating which of the four configurationmodes were selected for specifying the non-zero set of coefficients ofthe reduced foreground V[k] vectors 55 to represent the directionalaspects of this distinct component. The syntax element may be denoted as“codedVVecLength.” In this manner, the quantization unit 52 may signalor otherwise specify in the bitstream which of the four configurationmodes were used to specify the coded foreground V[k] vectors 57 in thebitstream. Although described with respect to four configuration modes,the techniques should not be limited to four configuration modes but toany number of configuration modes, including a single configuration modeor a plurality of configuration modes. The scalar/entropy quantizationunit 53 may also specify the flag 63 as another syntax element in theside channel information 57.

The psychoacoustic audio coder unit 40 included within the audioencoding device 20 may represent multiple instances of a psychoacousticaudio coder, each of which is used to encode a different audio object orHOA channel of each of the energy compensated ambient HOA coefficients47′ and the interpolated nFG signals 49′ to generate encoded ambient HOAcoefficients 59 and encoded nFG signals 61. The psychoacoustic audiocoder unit 40 may output the encoded ambient HOA coefficients 59 and theencoded nFG signals 61 to the bitstream generation unit 42.

In some instances, this psychoacoustic audio coder unit 40 may representone or more instances of an advanced audio coding (AAC) encoding unit.The psychoacoustic audio coder unit 40 may encode each column or row ofthe energy compensated ambient HOA coefficients 47′ and the interpolatednFG signals 49′. Often, the psychoacoustic audio coder unit 40 mayinvoke an instance of an AAC encoding unit for each of theorder/sub-order combinations remaining in the energy compensated ambientHOA coefficients 47′ and the interpolated nFG signals 49′. Moreinformation regarding how the background spherical harmonic coefficients31 may be encoded using an AAC encoding unit can be found in aconvention paper by Eric Hellerud, et al., entitled “Encoding HigherOrder Ambisonics with AAC,” presented at the 124^(th) Convention, 2008May 17-20 and available at:http://ro.uow.edu.au/cgi/viewcontent.cgi?article=8025&context=engpapers.In some instances, the audio encoding unit 14 may audio encode theenergy compensated ambient HOA coefficients 47′ using a lower targetbitrate than that used to encode the interpolated nFG signals 49′,thereby potentially compressing the energy compensated ambient HOAcoefficients 47′ more in comparison to the interpolated nFG signals 49′.

The bitstream generation unit 42 included within the audio encodingdevice 20 represents a unit that formats data to conform to a knownformat (which may refer to a format known by a decoding device), therebygenerating the vector-based bitstream 21. The bitstream generation unit42 may represent a multiplexer in some examples, which may receive thecoded foreground V[k] vectors 57, the encoded ambient HOA coefficients59, the encoded nFG signals 61 and the background channel information43. The bitstream generation unit 42 may then generate a bitstream 21based on the coded foreground V[k] vectors 57, the encoded ambient HOAcoefficients 59, the encoded nFG signals 61 and the background channelinformation 43. The bitstream 21 may include a primary or main bitstreamand one or more side channel bitstreams.

Although not shown in the example of FIG. 4, the audio encoding device20 may also include a bitstream output unit that switches the bitstreamoutput from the audio encoding device 20 (e.g., between thedirectional-based bitstream 21 and the vector-based bitstream 21) basedon whether a current frame is to be encoded using the directional-basedsynthesis or the vector-based synthesis. This bitstream output unit mayperform this switch based on the syntax element output by the contentanalysis unit 26 indicating whether a directional-based synthesis wasperformed (as a result of detecting that the HOA coefficients 11 weregenerated from a synthetic audio object) or a vector-based synthesis wasperformed (as a result of detecting that the HOA coefficients wererecorded). The bitstream output unit may specify the correct headersyntax to indicate this switch or current encoding used for the currentframe along with the respective one of the bitstreams 21.

In some instances, various aspects of the techniques may also enable theaudio encoding device 20 to determine whether HOA coefficients 11 aregenerated from a synthetic audio object. These aspects of the techniquesmay enable the audio encoding device 20 to be configured to obtain anindication of whether spherical harmonic coefficients representative ofa sound field are generated from a synthetic audio object.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine whether the spherical harmonic coefficients aregenerated from the synthetic audio object.

In these and other instances, the audio encoding device 20 is configuredto exclude a first vector from a framed spherical harmonic coefficientmatrix storing at least a portion of the spherical harmonic coefficientsrepresentative of the sound field to obtain a reduced framed sphericalharmonic coefficient matrix.

In these and other instances, the audio encoding device 20 is configuredto exclude a first vector from a framed spherical harmonic coefficientmatrix storing at least a portion of the spherical harmonic coefficientsrepresentative of the sound field to obtain a reduced framed sphericalharmonic coefficient matrix, and predict a vector of the reduced framedspherical harmonic coefficient matrix based on remaining vectors of thereduced framed spherical harmonic coefficient matrix.

In these and other instances, the audio encoding device 20 is configuredto exclude a first vector from a framed spherical harmonic coefficientmatrix storing at least a portion of the spherical harmonic coefficientsrepresentative of the sound field to obtain a reduced framed sphericalharmonic coefficient matrix, and predict a vector of the reduced framedspherical harmonic coefficient matrix based, at least in part, on a sumof remaining vectors of the reduced framed spherical harmoniccoefficient matrix.

In these and other instances, the audio encoding device 20 is configuredto predict a vector of a framed spherical harmonic coefficient matrixstoring at least a portion of the spherical harmonic coefficients based,at least in part, on a sum of remaining vectors of the framed sphericalharmonic coefficient matrix.

In these and other instances, the audio encoding device 20 is configuredto further configured to predict a vector of a framed spherical harmoniccoefficient matrix storing at least a portion of the spherical harmoniccoefficients based, at least in part, on a sum of remaining vectors ofthe framed spherical harmonic coefficient matrix, and compute an errorbased on the predicted vector.

In these and other instances, the audio encoding device 20 is configuredto configured to predict a vector of a framed spherical harmoniccoefficient matrix storing at least a portion of the spherical harmoniccoefficients based, at least in part, on a sum of remaining vectors ofthe framed spherical harmonic coefficient matrix, and compute an errorbased on the predicted vector and the corresponding vector of the framedspherical harmonic coefficient matrix.

In these and other instances, the audio encoding device 20 is configuredto configured to predict a vector of a framed spherical harmoniccoefficient matrix storing at least a portion of the spherical harmoniccoefficients based, at least in part, on a sum of remaining vectors ofthe framed spherical harmonic coefficient matrix, and compute an erroras a sum of the absolute value of the difference of the predicted vectorand the corresponding vector of the framed spherical harmoniccoefficient matrix.

In these and other instances, the audio encoding device 20 is configuredto configured to predict a vector of a framed spherical harmoniccoefficient matrix storing at least a portion of the spherical harmoniccoefficients based, at least in part, on a sum of remaining vectors ofthe framed spherical harmonic coefficient matrix, compute an error basedon the predicted vector and the corresponding vector of the framedspherical harmonic coefficient matrix, compute a ratio based on anenergy of the corresponding vector of the framed spherical harmoniccoefficient matrix and the error, and compare the ratio to a thresholdto determine whether the spherical harmonic coefficients representativeof the sound field are generated from the synthetic audio object.

In these and other instances, the audio encoding device 20 is configuredto configured to specify the indication in a bitstream 21 that stores acompressed version of the spherical harmonic coefficients.

In some instances, the various techniques may enable the audio encodingdevice 20 to perform a transformation with respect to the HOAcoefficients 11. In these and other instances, the audio encoding device20 may be configured to obtain one or more first vectors describingdistinct components of the soundfield and one or more second vectorsdescribing background components of the soundfield, both the one or morefirst vectors and the one or more second vectors generated at least byperforming a transformation with respect to the plurality of sphericalharmonic coefficients 11.

In these and other instances, the audio encoding device 20, wherein thetransformation comprises a singular value decomposition that generates aU matrix representative of left-singular vectors of the plurality ofspherical harmonic coefficients, an S matrix representative of singularvalues of the plurality of spherical harmonic coefficients and a Vmatrix representative of right-singular vectors of the plurality ofspherical harmonic coefficients 11.

In these and other instances, the audio encoding device 20, wherein theone or more first vectors comprise one or more audio encodedU_(DIST)*S_(DIST) vectors that, prior to audio encoding, were generatedby multiplying one or more audio encoded U_(DIST) vectors of a U matrixby one or more S_(DIST) vectors of an S matrix, and wherein the U matrixand the S matrix are generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients.

In these and other instances, the audio encoding device 20, wherein theone or more first vectors comprise one or more audio encodedU_(DIST)*S_(DIST) vectors that, prior to audio encoding, were generatedby multiplying one or more audio encoded U_(DIST) vectors of a U matrixby one or more S_(DIST) vectors of an S matrix, and one or more V^(T)_(DIST) vectors of a transpose of a V matrix, and wherein the U matrixand the S matrix and the V matrix are generated at least by performingthe singular value decomposition with respect to the plurality ofspherical harmonic coefficients 11.

In these and other instances, the audio encoding device 20, wherein theone or more first vectors comprise one or more U_(DIST)*S_(DIST) vectorsthat, prior to audio encoding, were generated by multiplying one or moreaudio encoded U_(DIST) vectors of a U matrix by one or more S_(DIST)vectors of an S matrix, and one or more V^(T) _(DIST) vectors of atranspose of a V matrix, wherein the U matrix, the S matrix and the Vmatrix were generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients, and wherein the audio encoding device 20 is furtherconfigured to obtain a value D indicating the number of vectors to beextracted from a bitstream to form the one or more U_(DIST)*S_(DIST)vectors and the one or more V^(T) _(DIST) vectors.

In these and other instances, the audio encoding device 20, wherein theone or more first vectors comprise one or more U_(DIST)*S_(DIST) vectorsthat, prior to audio encoding, were generated by multiplying one or moreaudio encoded U_(DIST) vectors of a U matrix by one or more S_(DIST)vectors of an S matrix, and one or more V^(T) _(DIST) vectors of atranspose of a V matrix, wherein the U matrix, the S matrix and the Vmatrix were generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients, and wherein the audio encoding device 20 is furtherconfigured to obtain a value D on an audio-frame-by-audio-frame basisthat indicates the number of vectors to be extracted from a bitstream toform the one or more U_(DIST)*S_(DIST) vectors and the one or more V^(T)_(DIST) vectors.

In these and other instances, the audio encoding device 20, wherein thetransformation comprises a principal component analysis to identify thedistinct components of the soundfield and the background components ofthe soundfield.

Various aspects of the techniques described in this disclosure mayprovide for the audio encoding device 20 configured to compensate forquantization error.

In some instances, the audio encoding device 20 may be configured toquantize one or more first vectors representative of one or morecomponents of a sound field, and compensate for error introduced due tothe quantization of the one or more first vectors in one or more secondvectors that are also representative of the same one or more componentsof the sound field.

In these and other instances, the audio encoding device is configured toquantize one or more vectors from a transpose of a V matrix generated atleast in part by performing a singular value decomposition with respectto a plurality of spherical harmonic coefficients that describe thesound field.

In these and other instances, the audio encoding device is furtherconfigured to perform a singular value decomposition with respect to aplurality of spherical harmonic coefficients representative of a soundfield to generate a U matrix representative of left-singular vectors ofthe plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, and configured toquantize one or more vectors from a transpose of the V matrix.

In these and other instances, the audio encoding device is furtherconfigured to perform a singular value decomposition with respect to aplurality of spherical harmonic coefficients representative of a soundfield to generate a U matrix representative of left-singular vectors ofthe plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, configured to quantizeone or more vectors from a transpose of the V matrix, and configured tocompensate for the error introduced due to the quantization in one ormore U*S vectors computed by multiplying one or more U vectors of the Umatrix by one or more S vectors of the S matrix.

In these and other instances, the audio encoding device is furtherconfigured to perform a singular value decomposition with respect to aplurality of spherical harmonic coefficients representative of a soundfield to generate a U matrix representative of left-singular vectors ofthe plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, determine one or moreU_(DIST) vectors of the U matrix, each of which corresponds to adistinct component of the sound field, determine one or more S_(DIST)vectors of the S matrix, each of which corresponds to the same distinctcomponent of the sound field, and determine one or more V^(T) _(DIST)vectors of a transpose of the V matrix, each of which corresponds to thesame distinct component of the sound field, configured to quantize theone or more V^(T) _(DIST) vectors to generate one or more V^(T) _(Q)_(—) _(DIST) vectors, and configured to compensate for the errorintroduced due to the quantization in one or more U_(DIST)*S_(DIST)vectors computed by multiplying the one or more U_(DIST) vectors of theU matrix by one or more S_(DIST) vectors of the S matrix so as togenerate one or more error compensated U_(DIST)*S_(DIST) vectors.

In these and other instances, the audio encoding device is configured todetermine distinct spherical harmonic coefficients based on the one ormore U_(DIST) vectors, the one or more S_(DIST) vectors and the one ormore V^(T) _(DIST) vectors, and perform a pseudo inverse with respect tothe V^(T) _(Q) _(—) _(DIST) vectors to divide the distinct sphericalharmonic coefficients by the one or more V^(T) _(Q) _(—) _(DIST) vectorsand thereby generate error compensated one or more U_(C) _(—)_(DIST)*S_(C) _(—) _(DIST) vectors that compensate at least in part forthe error introduced through the quantization of the V^(T) _(DIST)vectors.

In these and other instances, the audio encoding device is furtherconfigured to perform a singular value decomposition with respect to aplurality of spherical harmonic coefficients representative of a soundfield to generate a U matrix representative of left-singular vectors ofthe plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, determine one or moreU_(BG) vectors of the U matrix that describe one or more backgroundcomponents of the sound field and one or more U_(DIST) vectors of the Umatrix that describe one or more distinct components of the sound field,determine one or more S_(BG) vectors of the S matrix that describe theone or more background components of the sound field and one or moreS_(DIST) vectors of the S matrix that describe the one or more distinctcomponents of the sound field, and determine one or more V^(T) _(DIST)vectors and one or more V^(T) _(BG) vectors of a transpose of the Vmatrix, wherein the V^(T) _(DIST) vectors describe the one or moredistinct components of the sound field and the V^(T) _(BG) describe theone or more background components of the sound field, configured toquantize the one or more V^(T) _(DIST) vectors to generate one or moreV^(T) _(Q) _(—) _(DIST) vectors, and configured to compensate for theerror introduced due to the quantization in background sphericalharmonic coefficients formed by multiplying the one or more U_(BG)vectors by the one or more S_(BG) vectors and then by the one or moreV^(T) _(BG) vectors so as to generate error compensated backgroundspherical harmonic coefficients.

In these and other instances, the audio encoding device is configured todetermine the error based on the V^(T) _(DIST) vectors and one or moreU_(DIST)*S_(DIST) vectors formed by multiplying the U_(DIST) vectors bythe S_(DIST) vectors, and add the determined error to the backgroundspherical harmonic coefficients to generate the error compensatedbackground spherical harmonic coefficients.

In these and other instances, the audio encoding device is configured tocompensate for the error introduced due to the quantization of the oneor more first vectors in one or more second vectors that are alsorepresentative of the same one or more components of the sound field togenerate one or more error compensated second vectors, and furtherconfigured to generate a bitstream to include the one or more errorcompensated second vectors and the quantized one or more first vectors.

In these and other instances, the audio encoding device is configured tocompensate for the error introduced due to the quantization of the oneor more first vectors in one or more second vectors that are alsorepresentative of the same one or more components of the sound field togenerate one or more error compensated second vectors, and furtherconfigured to audio encode the one or more error compensated secondvectors, and generate a bitstream to include the audio encoded one ormore error compensated second vectors and the quantized one or morefirst vectors.

The various aspects of the techniques may further enable the audioencoding device 20 to generate reduced spherical harmonic coefficientsor decompositions thereof. In some instances, the audio encoding device20 may be configured to perform, based on a target bitrate, orderreduction with respect to a plurality of spherical harmonic coefficientsor decompositions thereof to generate reduced spherical harmoniccoefficients or the reduced decompositions thereof, wherein theplurality of spherical harmonic coefficients represent a sound field.

In these and other instances, the audio encoding device 20 is furtherconfigured to, prior to performing the order reduction, perform asingular value decomposition with respect to the plurality of sphericalharmonic coefficients to identify one or more first vectors thatdescribe distinct components of the sound field and one or more secondvectors that identify background components of the sound field, andconfigured to perform the order reduction with respect to the one ormore first vectors, the one or more second vectors or both the one ormore first vectors and the one or more second vectors.

In these and other instances, the audio encoding device 20 is furtherconfigured to performing a content analysis with respect to theplurality of spherical harmonic coefficients or the decompositionsthereof, and configured to perform, based on the target bitrate and thecontent analysis, the order reduction with respect to the plurality ofspherical harmonic coefficients or the decompositions thereof togenerate the reduced spherical harmonic coefficients or the reduceddecompositions thereof.

In these and other instances, the audio encoding device 20 is configuredto perform a spatial analysis with respect to the plurality of sphericalharmonic coefficients or the decompositions thereof.

In these and other instances, the audio encoding device 20 is configuredto perform a diffusion analysis with respect to the plurality ofspherical harmonic coefficients or the decompositions thereof.

In these and other instances, the audio encoding device 20 is the one ormore processors are configured to perform a spatial analysis and adiffusion analysis with respect to the plurality of spherical harmoniccoefficients or the decompositions thereof.

In these and other instances, the audio encoding device 20 is furtherconfigured to specify one or more orders and/or one or more sub-ordersof spherical basis functions to which those of the reduced sphericalharmonic coefficients or the reduced decompositions thereof correspondin a bitstream that includes the reduced spherical harmonic coefficientsor the reduced decompositions thereof.

In these and other instances, the reduced spherical harmoniccoefficients or the reduced decompositions thereof have less values thanthe plurality of spherical harmonic coefficients or the decompositionsthereof.

In these and other instances, the audio encoding device 20 is configuredto remove those of the plurality of spherical harmonic coefficients orvectors of the decompositions thereof having a specified order and/orsub-order to generate the reduced spherical harmonic coefficients or thereduced decompositions thereof.

In these and other instances, the audio encoding device 20 is configuredto zero out those of the plurality of spherical harmonic coefficients orthose vectors of the decomposition thereof having a specified orderand/or sub-order to generate the reduced spherical harmonic coefficientsor the reduced decompositions thereof.

Various aspects of the techniques may also allow for the audio encodingdevice 20 to be configured to represent distinct components of thesoundfield. In these and other instances, the audio encoding device 20is configured to obtain a first non-zero set of coefficients of a vectorto be used to represent a distinct component of a sound field, whereinthe vector is decomposed from a plurality of spherical harmoniccoefficients describing the sound field.

In these and other instances, the audio encoding device 20 is configuredto determine the first non-zero set of the coefficients of the vector toinclude all of the coefficients.

In these and other instances, the audio encoding device 20 is configuredto determine the first non-zero set of coefficients as those of thecoefficients corresponding to an order greater than an order of a basisfunction to which one or more of the plurality of spherical harmoniccoefficients correspond.

In these and other instances, the audio encoding device 20 is configuredto determine the first non-zero set of coefficients to include those ofthe coefficients corresponding to an order greater than an order of abasis function to which one or more of the plurality of sphericalharmonic coefficients correspond and excluding at least one of thecoefficients corresponding to an order greater than the order of thebasis function to which the one or more of the plurality of sphericalharmonic coefficients correspond.

In these and other instances, the audio encoding device 20 is configuredto determine the first non-zero set of coefficients to include all ofthe coefficients except for at least one of the coefficientscorresponding to an order greater than an order of a basis function towhich one or more of the plurality of spherical harmonic coefficientscorrespond.

In these and other instances, the audio encoding device 20 is furtherconfigured to specify the first non-zero set of the coefficients of thevector in side channel information.

In these and other instances, the audio encoding device 20 is furtherconfigured to specify the first non-zero set of the coefficients of thevector in side channel information without audio encoding the firstnon-zero set of the coefficients of the vector.

In these and other instances, the vector comprises a vector decomposedfrom the plurality of spherical harmonic coefficients using vector basedsynthesis.

In these and other instances, the vector based synthesis comprises asingular value decomposition.

In these and other instances, the vector comprises a V vector decomposedfrom the plurality of spherical harmonic coefficients using singularvalue decomposition.

In these and other instances, the audio encoding device 20 is furtherconfigured to select one of a plurality of configuration modes by whichto specify the non-zero set of coefficients of the vector, and specifythe non-zero set of the coefficients of the vector based on the selectedone of the plurality of configuration modes.

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of the coefficients includes allof the coefficients.

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of coefficients include those ofthe coefficients corresponding to an order greater than an order of abasis function to which one or more of the plurality of sphericalharmonic coefficients correspond.

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of the coefficients include thoseof the coefficients corresponding to an order greater than an order of abasis function to which one or more of the plurality of sphericalharmonic coefficients correspond and exclude at least one of thecoefficients corresponding to an order greater than the order of thebasis function to which the one or more of the plurality of sphericalharmonic coefficients correspond,

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of coefficients include all of thecoefficients except for at least one of the coefficients.

In these and other instances, the audio encoding device 20 is furtherconfigured to specify the selected one of the plurality of configurationmodes in a bitstream.

Various aspects of the techniques described in this disclosure may alsoallow for the audio encoding device 20 to be configured to representthat distinct component of the soundfield in various way. In these andother instances, the audio encoding device 20 is configured to obtain afirst non-zero set of coefficients of a vector that represent a distinctcomponent of a sound field, the vector having been decomposed from aplurality of spherical harmonic coefficients that describe the soundfield.

In these and other instances, the first non-zero set of the coefficientsincludes all of the coefficients of the vector.

In these and other instances, the first non-zero set of coefficientsinclude those of the coefficients corresponding to an order greater thanan order of a basis function to which one or more of the plurality ofspherical harmonic coefficients correspond.

In these and other instances, the first non-zero set of the coefficientsinclude those of the coefficients corresponding to an order greater thanan order of a basis function to which one or more of the plurality ofspherical harmonic coefficients correspond and exclude at least one ofthe coefficients corresponding to an order greater than the order of thebasis function to which the one or more of the plurality of sphericalharmonic coefficients correspond.

In these and other instances, the first non-zero set of coefficientsinclude all of the coefficients except for at least one of thecoefficients identified as not have sufficient directional information.

In these and other instances, the audio encoding device 20 is furtherconfigured to extract the first non-zero set of the coefficients as afirst portion of the vector.

In these and other instances, the audio encoding device 20 is furtherconfigured to extract the first non-zero set of the vector from sidechannel information, and obtain a recomposed version of the plurality ofspherical harmonic coefficients based on the first non-zero set of thecoefficients of the vector.

In these and other instances, the vector comprises a vector decomposedfrom the plurality of spherical harmonic coefficients using vector basedsynthesis.

In these and other instances, the vector based synthesis comprisessingular value decomposition.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine one of a plurality of configuration modes bywhich to extract the non-zero set of coefficients of the vector inaccordance with the one of the plurality of configuration modes, andextract the non-zero set of the coefficients of the vector based on theobtained one of the plurality of configuration modes.

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of the coefficients includes allof the coefficients.

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of coefficients include those ofthe coefficients corresponding to an order greater than an order of abasis function to which one or more of the plurality of sphericalharmonic coefficients correspond.

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of the coefficients include thoseof the coefficients corresponding to an order greater than an order of abasis function to which one or more of the plurality of sphericalharmonic coefficients correspond and exclude at least one of thecoefficients corresponding to an order greater than the order of thebasis function to which the one or more of the plurality of sphericalharmonic coefficients correspond,

In these and other instances, the one of the plurality of configurationmodes indicates that the non-zero set of coefficients include all of thecoefficients except for at least one of the coefficients.

In these and other instances, the audio encoding device 20 is configuredto determine the one of the plurality of configuration modes based on avalue signaled in a bitstream.

Various aspects of the techniques may also, in some instances, enablethe audio encoding device 20 to identify one or more distinct audioobjects (or, in other words, predominant audio objects). In someinstances, the audio encoding device 20 may be configured to identifyone or more distinct audio objects from one or more spherical harmoniccoefficients (SHC) associated with the audio objects based on adirectionality determined for one or more of the audio objects.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine the directionality of the one or more audioobjects based on the spherical harmonic coefficients associated with theaudio objects.

In these and other instances, the audio encoding device 20 is furtherconfigured to perform a singular value decomposition with respect to thespherical harmonic coefficients to generate a U matrix representative ofleft-singular vectors of the plurality of spherical harmoniccoefficients, an S matrix representative of singular values of theplurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and represent the plurality of spherical harmoniccoefficients as a function of at least a portion of one or more of the Umatrix, the S matrix and the V matrix, wherein the audio encoding device20 is configured to determine the respective directionality of the oneor more audio objects is based at least in part on the V matrix.

In these and other instances, the audio encoding device 20 is furtherconfigured to reorder one or more vectors of the V matrix such thatvectors having a greater directionality quotient are positioned abovevectors having a lesser directionality quotient in the reordered Vmatrix.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine that the vectors having the greaterdirectionality quotient include greater directional information than thevectors having the lesser directionality quotient.

In these and other instances, the audio encoding device 20 is furtherconfigured to multiply the V matrix by the S matrix to generate a VSmatrix, the VS matrix including one or more vectors.

In these and other instances, the audio encoding device 20 is furtherconfigured to select entries of each row of the VS matrix that areassociated with an order greater than 14, square each of the selectedentries to form corresponding squared entries, and for each row of theVS matrix, sum all of the squared entries to determine a directionalityquotient for a corresponding vector.

In these and other instances, the audio encoding device 20 is configuredto select the entries of each row of the VS matrix associated with theorder greater than 14 comprises selecting all entries beginning at a18th entry of each row of the VS matrix and ending at a 38th entry ofeach row of the VS matrix.

In these and other instances, the audio encoding device 20 is furtherconfigured to select a subset of the vectors of the VS matrix torepresent the distinct audio objects. In these and other instances, theaudio encoding device 20 is configured to select four vectors of the VSmatrix, and wherein the selected four vectors have the four greatestdirectionality quotients of all of the vectors of the VS matrix.

In these and other instances, the audio encoding device 20 is configuredto determine that the selected subset of the vectors represent thedistinct audio objects is based on both the directionality and an energyof each vector.

In these and other instances, the audio encoding device 20 is furtherconfigured to perform an energy comparison between one or more firstvectors and one or more second vectors representative of the distinctaudio objects to determine reordered one or more first vectors, whereinthe one or more first vectors describe the distinct audio objects afirst portion of audio data and the one or more second vectors describethe distinct audio objects in a second portion of the audio data.

In these and other instances, the audio encoding device 20 is furtherconfigured to perform a cross-correlation between one or more firstvectors and one or more second vectors representative of the distinctaudio objects to determine reordered one or more first vectors, whereinthe one or more first vectors describe the distinct audio objects afirst portion of audio data and the one or more second vectors describethe distinct audio objects in a second portion of the audio data.

Various aspects of the techniques may also, in some instances, enablethe audio encoding device 20 to be configured to perform energycompensation with respect to decompositions of the HOA coefficients 11.In these and other instances, the audio encoding device 20 may beconfigured to perform a vector-based synthesis with respect to aplurality of spherical harmonic coefficients to generate decomposedrepresentations of the plurality of spherical harmonic coefficientsrepresentative of one or more audio objects and correspondingdirectional information, wherein the spherical harmonic coefficients areassociated with an order and describe a sound field, determine distinctand background directional information from the directional information,reduce an order of the directional information associated with thebackground audio objects to generate transformed background directionalinformation, apply compensation to increase values of the transformeddirectional information to preserve an overall energy of the soundfield.

In these and other instances, the audio encoding device 20 may beconfigured to perform a singular value decomposition with respect to aplurality of spherical harmonic coefficients to generate a U matrix andan S matrix representative of the audio objects and a V matrixrepresentative of the directional information, determine distinct columnvectors of the V matrix and background column vectors of the V matrix,reduce an order of the background column vectors of the V matrix togenerate transformed background column vectors of the V matrix, andapply the compensation to increase values of the transformed backgroundcolumn vectors of the V matrix to preserve an overall energy of thesound field.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine a number of salient singular values of the Smatrix, wherein a number of the distinct column vectors of the V matrixis the number of salient singular values of the S matrix.

In these and other instances, the audio encoding device 20 is configuredto determine a reduced order for the spherical harmonics coefficients,and zero values for rows of the background column vectors of the Vmatrix associated with an order that is greater than the reduced order.

In these and other instances, the audio encoding device 20 is furtherconfigured to combine background columns of the U matrix, backgroundcolumns of the S matrix, and a transpose of the transformed backgroundcolumns of the V matrix to generate modified spherical harmoniccoefficients.

In these and other instances, the modified spherical harmoniccoefficients describe one or more background components of the soundfield.

In these and other instances, the audio encoding device 20 is configuredto determine a first energy of a vector of the background column vectorsof the V matrix and a second energy of a vector of the transformedbackground column vectors of the V matrix, and apply an amplificationvalue to each element of the vector of the transformed background columnvectors of the V matrix, wherein the amplification value comprises aratio of the first energy to the second energy.

In these and other instances, the audio encoding device 20 is configuredto determine a first root mean-squared energy of a vector of thebackground column vectors of the V matrix and a second root mean-squaredenergy of a vector of the transformed background column vectors of the Vmatrix, and apply an amplification value to each element of the vectorof the transformed background column vectors of the V matrix, whereinthe amplification value comprises a ratio of the first energy to thesecond energy.

Various aspects of the techniques described in this disclosure may alsoenable the audio encoding device 20 to perform interpolation withrespect to decomposed versions of the HOA coefficients 11. In someinstances, the audio encoding device 20 may be configured to obtaindecomposed interpolated spherical harmonic coefficients for a timesegment by, at least in part, performing an interpolation with respectto a first decomposition of a first plurality of spherical harmoniccoefficients and a second decomposition of a second plurality ofspherical harmonic coefficients.

In these and other instances, the first decomposition comprises a firstV matrix representative of right-singular vectors of the first pluralityof spherical harmonic coefficients.

In these and other examples, the second decomposition comprises a secondV matrix representative of right-singular vectors of the secondplurality of spherical harmonic coefficients.

In these and other instances, the first decomposition comprises a firstV matrix representative of right-singular vectors of the first pluralityof spherical harmonic coefficients, and the second decompositioncomprises a second V matrix representative of right-singular vectors ofthe second plurality of spherical harmonic coefficients.

In these and other instances, the time segment comprises a sub-frame ofan audio frame.

In these and other instances, the time segment comprises a time sampleof an audio frame.

In these and other instances, the audio encoding device 20 is configuredto obtain an interpolated decomposition of the first decomposition andthe second decomposition for a spherical harmonic coefficient of thefirst plurality of spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is configuredto obtain interpolated decompositions of the first decomposition for afirst portion of the first plurality of spherical harmonic coefficientsincluded in the first frame and the second decomposition for a secondportion of the second plurality of spherical harmonic coefficientsincluded in the second frame, and the audio encoding device 20 isfurther configured to apply the interpolated decompositions to a firsttime component of the first portion of the first plurality of sphericalharmonic coefficients included in the first frame to generate a firstartificial time component of the first plurality of spherical harmoniccoefficients, and apply the respective interpolated decompositions to asecond time component of the second portion of the second plurality ofspherical harmonic coefficients included in the second frame to generatea second artificial time component of the second plurality of sphericalharmonic coefficients included.

In these and other instances, the first time component is generated byperforming a vector-based synthesis with respect to the first pluralityof spherical harmonic coefficients.

In these and other instances, the second time component is generated byperforming a vector-based synthesis with respect to the second pluralityof spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is furtherconfigured to receive the first artificial time component and the secondartificial time component, compute interpolated decompositions of thefirst decomposition for the first portion of the first plurality ofspherical harmonic coefficients and the second decomposition for thesecond portion of the second plurality of spherical harmoniccoefficients, and apply inverses of the interpolated decompositions tothe first artificial time component to recover the first time componentand to the second artificial time component to recover the second timecomponent.

In these and other instances, the audio encoding device 20 is configuredto interpolate a first spatial component of the first plurality ofspherical harmonic coefficients and the second spatial component of thesecond plurality of spherical harmonic coefficients.

In these and other instances, the first spatial component comprises afirst U matrix representative of left-singular vectors of the firstplurality of spherical harmonic coefficients.

In these and other instances, the second spatial component comprises asecond U matrix representative of left-singular vectors of the secondplurality of spherical harmonic coefficients.

In these and other instances, the first spatial component isrepresentative of M time segments of spherical harmonic coefficients forthe first plurality of spherical harmonic coefficients and the secondspatial component is representative of M time segments of sphericalharmonic coefficients for the second plurality of spherical harmoniccoefficients.

In these and other instances, the first spatial component isrepresentative of M time segments of spherical harmonic coefficients forthe first plurality of spherical harmonic coefficients and the secondspatial component is representative of M time segments of sphericalharmonic coefficients for the second plurality of spherical harmoniccoefficients, and the audio encoding device 20 is configured tointerpolate the last N elements of the first spatial component and thefirst N elements of the second spatial component.

In these and other instances, the second plurality of spherical harmoniccoefficients are subsequent to the first plurality of spherical harmoniccoefficients in the time domain.

In these and other instances, the audio encoding device 20 is furtherconfigured to decompose the first plurality of spherical harmoniccoefficients to generate the first decomposition of the first pluralityof spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is furtherconfigured to decompose the second plurality of spherical harmoniccoefficients to generate the second decomposition of the secondplurality of spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is furtherconfigured to perform a singular value decomposition with respect to thefirst plurality of spherical harmonic coefficients to generate a Umatrix representative of left-singular vectors of the first plurality ofspherical harmonic coefficients, an S matrix representative of singularvalues of the first plurality of spherical harmonic coefficients and a Vmatrix representative of right-singular vectors of the first pluralityof spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is furtherconfigured to perform a singular value decomposition with respect to thesecond plurality of spherical harmonic coefficients to generate a Umatrix representative of left-singular vectors of the second pluralityof spherical harmonic coefficients, an S matrix representative ofsingular values of the second plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe second plurality of spherical harmonic coefficients.

In these and other instances, the first and second plurality ofspherical harmonic coefficients each represent a planar waverepresentation of the sound field.

In these and other instances, the first and second plurality ofspherical harmonic coefficients each represent one or more mono-audioobjects mixed together.

In these and other instances, the first and second plurality ofspherical harmonic coefficients each comprise respective first andsecond spherical harmonic coefficients that represent a threedimensional sound field.

In these and other instances, the first and second plurality ofspherical harmonic coefficients are each associated with at least onespherical basis function having an order greater than one.

In these and other instances, the first and second plurality ofspherical harmonic coefficients are each associated with at least onespherical basis function having an order equal to four.

In these and other instances, the interpolation is a weightedinterpolation of the first decomposition and second decomposition,wherein weights of the weighted interpolation applied to the firstdecomposition are inversely proportional to a time represented byvectors of the first and second decomposition and wherein weights of theweighted interpolation applied to the second decomposition areproportional to a time represented by vectors of the first and seconddecomposition.

In these and other instances, the decomposed interpolated sphericalharmonic coefficients smooth at least one of spatial components and timecomponents of the first plurality of spherical harmonic coefficients andthe second plurality of spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is configuredto compute Us[n]=HOA(n)*(V_vec[n])−1 to obtain a scalar.

In these and other instances, the interpolation comprises a linearinterpolation. In these and other instances, the interpolation comprisesa non-linear interpolation. In these and other instances, theinterpolation comprises a cosine interpolation. In these and otherinstances, the interpolation comprises a weighted cosine interpolation.In these and other instances, the interpolation comprises a cubicinterpolation. In these and other instances, the interpolation comprisesan Adaptive Spline Interpolation. In these and other instances, theinterpolation comprises a minimal curvature interpolation.

In these and other instances, the audio encoding device 20 is furtherconfigured to generate a bitstream that includes a representation of thedecomposed interpolated spherical harmonic coefficients for the timesegment, and an indication of a type of the interpolation.

In these and other instances, the indication comprises one or more bitsthat map to the type of interpolation.

In this way, various aspects of the techniques described in thisdisclosure may enable the audio encoding device 20 to be configured toobtain a bitstream that includes a representation of the decomposedinterpolated spherical harmonic coefficients for the time segment, andan indication of a type of the interpolation.

In these and other instances, the indication comprises one or more bitsthat map to the type of interpolation.

In this respect, the audio encoding device 20 may represent oneembodiment of the techniques in that the audio encoding device 20 may,in some instances, be configured to generate a bitstream comprising acompressed version of a spatial component of a sound field, the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is furtherconfigured to generate the bitstream to include a field specifying aprediction mode used when compressing the spatial component.

In these and other instances, the audio encoding device 20 is configuredto generate the bitstream to include Huffman table informationspecifying a Huffman table used when compressing the spatial component.

In these and other instances, the audio encoding device 20 is configuredto generate the bitstream to include a field indicating a value thatexpresses a quantization step size or a variable thereof used whencompressing the spatial component.

In these and other instances, the value comprises an nbits value.

In these and other instances, the audio encoding device 20 is configuredto generate the bitstream to include a compressed version of a pluralityof spatial components of the sound field of which the compressed versionof the spatial component is included, where the value expresses thequantization step size or a variable thereof used when compressing theplurality of spatial components.

In these and other instances, the audio encoding device 20 is furtherconfigured to generate the bitstream to include a Huffman code torepresent a category identifier that identifies a compression categoryto which the spatial component corresponds.

In these and other instances, the audio encoding device 20 is configuredto generate the bitstream to include a sign bit identifying whether thespatial component is a positive value or a negative value.

In these and other instances, the audio encoding device 20 is configuredto generate the bitstream to include a Huffman code to represent aresidual value of the spatial component.

In these and other instances, the vector based synthesis comprises asingular value decomposition.

In this respect, the audio encoding device 20 may further implementvarious aspects of the techniques in that the audio encoding device 20may, in some instances, be configured to identify a Huffman codebook touse when compressing a spatial component of a plurality of spatialcomponents based on an order of the spatial component relative toremaining ones of the plurality of spatial components, the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is configuredto identify the Huffman codebook based on a prediction mode used whencompressing the spatial component.

In these and other instances, a compressed version of the spatialcomponent is represented in a bitstream using, at least in part, Huffmantable information identifying the Huffman codebook.

In these and other instances, a compressed version of the spatialcomponent is represented in a bitstream using, at least in part, a fieldindicating a value that expresses a quantization step size or a variablethereof used when compressing the spatial component.

In these and other instances, the value comprises an nbits value.

In these and other instances, the bitstream comprises a compressedversion of a plurality of spatial components of the sound field of whichthe compressed version of the spatial component is included, and thevalue expresses the quantization step size or a variable thereof usedwhen compressing the plurality of spatial components.

In these and other instances, a compressed version of the spatialcomponent is represented in a bitstream using, at least in part, aHuffman code selected form the identified Huffman codebook to representa category identifier that identifies a compression category to whichthe spatial component corresponds.

In these and other instances, a compressed version of the spatialcomponent is represented in a bitstream using, at least in part, a signbit identifying whether the spatial component is a positive value or anegative value.

In these and other instances, a compressed version of the spatialcomponent is represented in a bitstream using, at least in part, aHuffman code selected form the identified Huffman codebook to representa residual value of the spatial component.

In these and other instances, the audio encoding device 20 is furtherconfigured to compress the spatial component based on the identifiedHuffman codebook to generate a compressed version of the spatialcomponent, and generate the bitstream to include the compressed versionof the spatial component.

Moreover, the audio encoding device 20 may, in some instances, implementvarious aspects of the techniques in that the audio encoding device 20may be configured to determine a quantization step size to be used whencompressing a spatial component of a sound field, the spatial componentgenerated by performing a vector based synthesis with respect to aplurality of spherical harmonic coefficients.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine the quantization step size based on a target bitrate.

In these and other instances, the audio encoding device 20 is configuredto determine an estimate of a number of bits used to represent thespatial component, and determine the quantization step size based on adifference between the estimate and a target bit rate.

In these and other instances, the audio encoding device 20 is configuredto determine an estimate of a number of bits used to represent thespatial component, determine a difference between the estimate and atarget bit rate, and determine the quantization step size by adding thedifference to the target bit rate.

In these and other instances, the audio encoding device 20 is configuredto calculate the estimated of the number of bits that are to begenerated for the spatial component given a code book corresponding tothe target bit rate.

In these and other instances, the audio encoding device 20 is configuredto calculate the estimated of the number of bits that are to begenerated for the spatial component given a coding mode used whencompressing the spatial component.

In these and other instances, the audio encoding device 20 is configuredto calculate a first estimate of the number of bits that are to begenerated for the spatial component given a first coding mode to be usedwhen compressing the spatial component, calculate a second estimate ofthe number of bits that are to be generated for the spatial componentgiven a second coding mode to be used when compressing the spatialcomponent, select the one of the first estimate and the second estimatehaving a least number of bits to be used as the determined estimate ofthe number of bits.

In these and other instances, the audio encoding device 20 is configuredto identify a category identifier identifying a category to which thespatial component corresponds, identify a bit length of a residual valuefor the spatial component that would result when compressing the spatialcomponent corresponding to the category, and determine the estimate ofthe number of bits by, at least in part, adding a number of bits used torepresent the category identifier to the bit length of the residualvalue.

In these and other instances, the audio encoding device 20 is furtherconfigured to select one of a plurality of code books to be used whencompressing the spatial component.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine an estimate of a number of bits used torepresent the spatial component using each of the plurality of codebooks, and select the one of the plurality of code books that resultedin the determined estimate having the least number of bits.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine an estimate of a number of bits used torepresent the spatial component using one or more of the plurality ofcode books, the one or more of the plurality of code books selectedbased on an order of elements of the spatial component to be compressedrelative to other elements of the spatial component.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine an estimate of a number of bits used torepresent the spatial component using one of the plurality of code booksdesigned to be used when the spatial component is not predicted from asubsequent spatial component.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine an estimate of a number of bits used torepresent the spatial component using one of the plurality of code booksdesigned to be used when the spatial component is predicted from asubsequent spatial component.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine an estimate of a number of bits used torepresent the spatial component using one of the plurality of code booksdesigned to be used when the spatial component is representative of asynthetic audio object in the sound field.

In these and other instances, the synthetic audio object comprises apulse code modulated (PCM) audio object.

In these and other instances, the audio encoding device 20 is furtherconfigured to determine an estimate of a number of bits used torepresent the spatial component using one of the plurality of code booksdesigned to be used when the spatial component is representative of arecorded audio object in the sound field.

In each of the various instances described above, it should beunderstood that the audio encoding device 20 may perform a method orotherwise comprise means to perform each step of the method for whichthe audio encoding device 20 is configured to perform In some instances,these means may comprise one or more processors. In some instances, theone or more processors may represent a special purpose processorconfigured by way of instructions stored to a non-transitorycomputer-readable storage medium. In other words, various aspects of thetechniques in each of the sets of encoding examples may provide for anon-transitory computer-readable storage medium having stored thereoninstructions that, when executed, cause the one or more processors toperform the method for which the audio encoding device 20 has beenconfigured to perform.

FIG. 5 is a block diagram illustrating the audio decoding device 24 ofFIG. 3 in more detail. As shown in the example of FIG. 5, the audiodecoding device 24 may include an extraction unit 72, adirectionality-based reconstruction unit 90 and a vector-basedreconstruction unit 92.

The extraction unit 72 may represent a unit configured to receive thebitstream 21 and extract the various encoded versions (e.g., adirectional-based encoded version or a vector-based encoded version) ofthe HOA coefficients 11. The extraction unit 72 may determine from theabove noted syntax element (e.g., the ChannelType syntax element shownin the examples of FIGS. 10E and 10H(i)-10O(ii)) whether the HOAcoefficients 11 were encoded via the various versions. When adirectional-based encoding was performed, the extraction unit 72 mayextract the directional-based version of the HOA coefficients 11 and thesyntax elements associated with this encoded version (which is denotedas directional-based information 91 in the example of FIG. 5), passingthis directional based information 91 to the directional-basedreconstruction unit 90. This directional-based reconstruction unit 90may represent a unit configured to reconstruct the HOA coefficients inthe form of HOA coefficients 11′ based on the directional-basedinformation 91. The bitstream and the arrangement of syntax elementswithin the bitstream is described below in more detail with respect tothe example of FIGS. 10-10O(ii) and 11.

When the syntax element indicates that the HOA coefficients 11 wereencoded using a vector-based synthesis, the extraction unit 72 mayextract the coded foreground V[k] vectors 57, the encoded ambient HOAcoefficients 59 and the encoded nFG signals 59. The extraction unit 72may pass the coded foreground V[k] vectors 57 to the quantization unit74 and the encoded ambient HOA coefficients 59 along with the encodednFG signals 61 to the psychoacoustic decoding unit 80.

To extract the coded foreground V[k] vectors 57, the encoded ambient HOAcoefficients 59 and the encoded nFG signals 59, the extraction unit 72may obtain the side channel information 57, which includes the syntaxelement denoted codedVVecLength. The extraction unit 72 may parse thecodedVVecLength from the side channel information 57. The extractionunit 72 may be configured to operate in any one of the above describedconfiguration modes based on the codedVVecLength syntax element.

The extraction unit 72 then operates in accordance with any one ofconfiguration modes to parse a compressed form of the reduced foregroundV[k] vectors 55 _(k) from the side channel information 57. Theextraction unit 72 may operate in accordance with the switch statementpresented in the following pseudo-code with the syntax presented in thefollowing syntax table for VVectorData:

switch CodedVVecLength{   case 0:     VVecLength = NumOfHoaCoeffs;    for (m=0; m<VVecLength; ++m){       VVecCoeffId[m] = m;     }    break;   case 1:     VVecLength = NumOfHoaCoeffs −  MinNumOfCoeffsForAmbHOA − NumOfContAddHoaChans;   n = 0;  for(m=MinNumOfCoeffsForAmbHOA; m<NumOfHoaCoeffs; ++m){       CoeffIdx= m+1;     if(CoeffIdx isNotMemberOf ContAddHoaCoeff){      VVecCoeffId[n] = CoeffIdx−1;       n++;     }   }     break; case2:     VVecLength = NumOfHoaCoeffs −     MinNumOfCoeffsForAmbHOA;    for (m=0; m< VVecLength; ++m){       VVecCoeffId[m] = m +MinNumOfCoeffsForAmbHOA;     }   break;   case 3:   VVecLength =NumOfHoaCoeffs − NumOfContAddHoaChans;   n = 0;   for(m=0;m<NumOfHoaCoeffs; ++m){       c = m+1;     if(c isNotMemberOfContAddHoaCoeff){       VVecCoeffId[n] = c−1;       n++;     }   } }

No. of Syntax bits Mnemonic VVectorData(i) {   if (NbitsQ(k)[i] == 5){    for (m=0; m< VVecLength; ++m){     VVec[i][VVecCoeffId[m]](k) =(VecVal / 128.0) − 8 uimsbf 1.0;   }   elseif(NbitsQ(k)[i] >= 6){    for (m=0; m< VVecLength; ++m){       huffIdx =huffSelect(VVecCoeffId[m], PFlag[i], CbFlag[i]);       cid =huffDecode(NbitsQ[i], huffIdx, huffVal); dynamic huffDecode      aVal[i][m] = 0.0;       if ( cid > 0 ) {         aVal[i][m] = sgn= (sgnVal * 2) − 1; 1 bslbf         if (cid > 1) {           aVal[i][m]= sgn * (2.0{circumflex over ( )}(cid −1 ) + intAddVal); cid − 1 uimsbf        }       }       VVec[i][VVecCoeffId[m]](k) = aVal[i][m]*(2{circumflex over ( )}(16 −        NbitsQ(k)[i])*aVal[i][m])/2{circumflex over ( )}15;       if(PFlag(k)[i] == 1) {          VVec[i][VVecCoeffId[m]](k)+=         VVec[i][VVecCoeffId[m]](k−1)       }   } }

In the foregoing syntax table, the first switch statement with the fourcases (case 0-3) provides for a way by which to determine the V^(T)_(DIST) vector length in terms of the number (VVecLength) and indices ofcoefficients (VVecCoeffId). The first case, case 0, indicates that allof the coefficients for the V^(T) _(DIST) vectors (NumOfHoaCoeffs) arespecified. The second case, case 1, indicates that only thosecoefficients of the V^(T) _(DIST) vector corresponding to the numbergreater than a MinNumOfCoeffsForAmbHOA are specified, which may denotewhat is referred to as (N_(DIST)+1)²−(N_(BG)+1)² above. Further thoseNumOfContAddAmbHoaChan coefficients identified in ContAddAmbHoaChan aresubtracted. The list ContAddAmbHoaChan specifies additional channels(where “channels” refer to a particular coefficient corresponding to acertain order, sub-order combination) corresponding to an order thatexceeds the order MinAmbHoaOrder. The third case, case 2, indicates thatthose coefficients of the V^(T) _(DIST) vector corresponding to thenumber greater than a MinNumOfCoeffsForAmbHOA are specified, which maydenote what is referred to as (N_(DIST)+1)²−(N_(BG)+1)² above. Thefourth case, case 3, indicates that those coefficients of the V^(T)_(DIST) vector left after removing coefficients identified byNumOfContAddAmbHoaChan are specified. Both the VVecLength as well as theVVecCoeffId list is valid for all VVectors within on HOAFrame.

After this switch statement, the decision of whether to perform uniformdequantization may be controlled by NbitsQ (or, as denoted above,nbits), which if equals 5, a uniform 8 bit scalar dequantization isperformed. In contrast, an NbitsQ value of greater or equals 6 mayresult in application of Huffman decoding. The cid value referred toabove may be equal to the two least significant bits of the NbitsQvalue. The prediction mode discussed above is denoted as the PFlag inthe above syntax table, while the HT info bit is denoted as the CbFlagin the above syntax table. The remaining syntax specifies how thedecoding occurs in a manner substantially similar to that describedabove. Various examples of the bitstream 21 that conforms to each of thevarious cases noted above are described in more detail below withrespect to FIGS. 10H(i)-10O(ii).

The vector-based reconstruction unit 92 represents a unit configured toperform operations reciprocal to those described above with respect tothe vector-based synthesis unit 27 so as to reconstruct the HOAcoefficients 11′. The vector based reconstruction unit 92 may include aquantization unit 74, a spatio-temporal interpolation unit 76, aforeground formulation unit 78, a psychoacoustic decoding unit 80, a HOAcoefficient formulation unit 82 and a reorder unit 84.

The quantization unit 74 may represent a unit configured to operate in amanner reciprocal to the quantization unit 52 shown in the example ofFIG. 4 so as to dequantize the coded foreground V[k] vectors 57 andthereby generate reduced foreground V[k] vectors 55 _(k). Thedequantization unit 74 may, in some examples, perform a form of entropydecoding and scalar dequantization in a manner reciprocal to thatdescribed above with respect to the quantization unit 52. Thedequantization unit 74 may forward the reduced foreground V[k] vectors55 _(k) to the reorder unit 84.

The psychoacoustic decoding unit 80 may operate in a manner reciprocalto the psychoacoustic audio coding unit 40 shown in the example of FIG.4 so as to decode the encoded ambient HOA coefficients 59 and theencoded nFG signals 61 and thereby generate energy compensated ambientHOA coefficients 47′ and the interpolated nFG signals 49′ (which mayalso be referred to as interpolated nFG audio objects 49′). Thepsychoacoustic decoding unit 80 may pass the energy compensated ambientHOA coefficients 47′ to HOA coefficient formulation unit 82 and the nFGsignals 49′ to the reorder 84.

The reorder unit 84 may represent a unit configured to operate in amanner similar reciprocal to that described above with respect to thereorder unit 34. The reorder unit 84 may receive syntax elementsindicative of the original order of the foreground components of the HOAcoefficients 11. The reorder unit 84 may, based on these reorder syntaxelements, reorder the interpolated nFG signals 49′ and the reducedforeground V[k] vectors 55 _(k) to generate reordered nFG signals 49″and reordered foreground V[k] vectors 55 _(k)′. The reorder unit 84 mayoutput the reordered nFG signals 49″ to the foreground formulation unit78 and the reordered foreground V[k] vectors 55 _(k)′ to thespatio-temporal interpolation unit 76.

The spatio-temporal interpolation unit 76 may operate in a mannersimilar to that described above with respect to the spatio-temporalinterpolation unit 50. The spatio-temporal interpolation unit 76 mayreceive the reordered foreground V[k] vectors 55 _(k)′ and perform thespatio-temporal interpolation with respect to the reordered foregroundV[k] vectors 55 _(k)′ and reordered foreground V[k−1] vectors 55 _(k-1)′to generate interpolated foreground V[k] vectors 55 _(k)″. Thespatio-temporal interpolation unit 76 may forward the interpolatedforeground V[k] vectors 55 _(k)″ to the foreground formulation unit 78.

The foreground formulation unit 78 may represent a unit configured toperform matrix multiplication with respect to the interpolatedforeground V[k] vectors 55 _(k)″ and the reordered nFG signals 49″ togenerate the foreground HOA coefficients 65. The foreground formulationunit 78 may perform a matrix multiplication of the reordered nFG signals49″ by the interpolated foreground V[k] vectors 55 _(k)″.

The HOA coefficient formulation unit 82 may represent a unit configuredto add the foreground HOA coefficients 65 to the ambient HOA channels47′ so as to obtain the HOA coefficients 11′, where the prime notationreflects that these HOA coefficients 11′ may be similar to but not thesame as the HOA coefficients 11. The differences between the HOAcoefficients 11 and 11′ may result from loss due to transmission over alossy transmission medium, quantization or other lossy operations.

In this way, the techniques may enable an audio decoding device, such asthe audio decoding device 24, to determine, from a bitstream, quantizeddirectional information, an encoded foreground audio object, and encodedambient higher order ambisonic (HOA) coefficients, wherein the quantizeddirectional information and the encoded foreground audio objectrepresent foreground HOA coefficients describing a foreground componentof a soundfield, and wherein the encoded ambient HOA coefficientsdescribe an ambient component of the soundfield, dequantize thequantized directional information to generate directional information,perform spatio-temporal interpolation with respect to the directionalinformation to generate interpolated directional information, audiodecode the encoded foreground audio object to generate a foregroundaudio object and the encoded ambient HOA coefficients to generateambient HOA coefficients, determine the foreground HOA coefficients as afunction of the interpolated directional information and the foregroundaudio object, and determine HOA coefficients as a function of theforeground HOA coefficients and the ambient HOA coefficients.

In this way, various aspects of the techniques may enable a unifiedaudio decoding device 24 to switch between two different decompressionschemes. In some instances, the audio decoding device 24 may beconfigured to select one of a plurality of decompression schemes basedon the indication of whether an compressed version of spherical harmoniccoefficients representative of a sound field are generated from asynthetic audio object, and decompress the compressed version of thespherical harmonic coefficients using the selected one of the pluralityof decompression schemes. In these and other instances, the audiodecoding device 24 comprises an integrated decoder.

In some instances, the audio decoding device 24 may be configured toobtain an indication of whether spherical harmonic coefficientsrepresentative of a sound field are generated from a synthetic audioobject.

In these and other instances, the audio decoding device 24 is configuredto obtain the indication from a bitstream that stores a compressedversion of the spherical harmonic coefficients.

In this way, various aspects of the techniques may enable the audiodecoding device 24 to obtain vectors describing distinct and backgroundcomponents of the soundfield. In some instances, the audio decodingdevice 24 may be configured to determine one or more first vectorsdescribing distinct components of the soundfield and one or more secondvectors describing background components of the soundfield, both the oneor more first vectors and the one or more second vectors generated atleast by performing a transformation with respect to the plurality ofspherical harmonic coefficients.

In these and other instances, the audio decoding device 24, wherein thetransformation comprises a singular value decomposition that generates aU matrix representative of left-singular vectors of the plurality ofspherical harmonic coefficients, an S matrix representative of singularvalues of the plurality of spherical harmonic coefficients and a Vmatrix representative of right-singular vectors of the plurality ofspherical harmonic coefficients.

In these and other instances, the audio decoding device 24, wherein theone or more first vectors comprise one or more audio encodedU_(DIST)*S_(DIST) vectors that, prior to audio encoding, were generatedby multiplying one or more audio encoded U_(DIST) vectors of a U matrixby one or more S_(DIST) vectors of an S matrix, and wherein the U matrixand the S matrix are generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients.

In these and other instances, the audio decoding device 24 is furtherconfigured to audio decode the one or more audio encodedU_(DIST)*S_(DIST) vectors to generate an audio decoded version of theone or more audio encoded U_(DIST)*S_(DIST) vectors.

In these and other instances, the audio decoding device 24, wherein theone or more first vectors comprise one or more audio encodedU_(DIST)*S_(DIST) vectors that, prior to audio encoding, were generatedby multiplying one or more audio encoded U_(DIST) vectors of a U matrixby one or more S_(DIST) vectors of an S matrix, and one or more V^(T)_(DIST) vectors of a transpose of a V matrix, and wherein the U matrixand the S matrix and the V matrix are generated at least by performingthe singular value decomposition with respect to the plurality ofspherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is furtherconfigured to audio decode the one or more audio encodedU_(DIST)*S_(DIST) vectors to generate an audio decoded version of theone or more audio encoded U_(DIST)*S_(DIST) vectors.

In these and other instances, the audio decoding device 24 furtherconfigured to multiply the U_(DIST)*S_(DIST) vectors by the V^(T)_(DIST) vectors to recover those of the plurality of spherical harmonicsrepresentative of the distinct components of the soundfield.

In these and other instances, the audio decoding device 24, wherein theone or more second vectors comprise one or more audio encodedU_(BG)*S_(BG)*V^(T) _(BG) vectors that, prior to audio encoding, weregenerating by multiplying U_(BG) vectors included within a U matrix byS_(BG) vectors included within an S matrix and then by V^(T) _(BG)vectors included within a transpose of a V matrix, and wherein the Smatrix, the U matrix and the V matrix were each generated at least byperforming the singular value decomposition with respect to theplurality of spherical harmonic coefficients.

In these and other instances, the audio decoding device 24, wherein theone or more second vectors comprise one or more audio encodedU_(BG)*S_(BG)*V^(T) _(BG) vectors that, prior to audio encoding, weregenerating by multiplying U_(BG) vectors included within a U matrix byS_(BG) vectors included within an S matrix and then by V^(T) _(BG)vectors included within a transpose of a V matrix, wherein the S matrix,the U matrix and the V matrix were generated at least by performing thesingular value decomposition with respect to the plurality of sphericalharmonic coefficients, and wherein the audio decoding device 24 isfurther configured to audio decode the one or more audio encodedU_(BG)*S_(BG)*V^(T) _(BG) vectors to generate one or more audio decodedU_(BG)*S_(BG)*V^(T) _(BG) vectors.

In these and other instances, the audio decoding device 24, wherein theone or more first vectors comprise one or more audio encodedU_(DIST)*S_(DIST) vectors that, prior to audio encoding, were generatedby multiplying one or more audio encoded U_(DIST) vectors of a U matrixby one or more S_(DIST) vectors of an S matrix, and one or more V^(T)_(DIST) vectors of a transpose of a V matrix, wherein the U matrix, theS matrix and the V matrix were generated at least by performing thesingular value decomposition with respect to the plurality of sphericalharmonic coefficients, and wherein the audio decoding device 24 isfurther configured to audio decode the one or more audio encodedU_(DIST)*S_(DIST) vectors to generate the one or more U_(DIST)*S_(DIST)vectors, and multiply the U_(DIST)*S_(DIST) vectors by the V^(T) _(DIST)vectors to recover those of the plurality of spherical harmoniccoefficients that describe the distinct components of the soundfield,wherein the one or more second vectors comprise one or more audioencoded U_(BG)*S_(BG)*V^(T) _(BG) vectors that, prior to audio encoding,were generating by multiplying U_(BG) vectors included within the Umatrix by S_(BG) vectors included within the S matrix and then by V^(T)_(BG) vectors included within the transpose of the V matrix, and whereinthe audio decoding device 24 is further configured to audio decode theone or more audio encoded U_(BG)*S_(BG)*V^(T) _(BG) vectors to recoverat least a portion of the plurality of the spherical harmoniccoefficients that describe background components of the soundfield, andadd the plurality of spherical harmonic coefficients that describe thedistinct components of the soundfield to the at least portion of theplurality of the spherical harmonic coefficients that describebackground components of the soundfield to generate a reconstructedversion of the plurality of spherical harmonic coefficients.

In these and other instances, the audio decoding device 24, wherein theone or more first vectors comprise one or more U_(DIST)*S_(DIST) vectorsthat, prior to audio encoding, were generated by multiplying one or moreaudio encoded U_(DIST) vectors of a U matrix by one or more S_(DIST)vectors of an S matrix, and one or more V^(T) _(DIST) vectors of atranspose of a V matrix, wherein the U matrix, the S matrix and the Vmatrix were generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients, and wherein the audio decoding device 20 is furtherconfigured to obtain a value D indicating the number of vectors to beextracted from a bitstream to form the one or more U_(DIST)*S_(DIST)vectors and the one or more V^(T) _(DIST) vectors.

In these and other instances, the audio decoding device 24, wherein theone or more first vectors comprise one or more U_(DIST)*S_(DIST) vectorsthat, prior to audio encoding, were generated by multiplying one or moreaudio encoded U_(DIST) vectors of a U matrix by one or more S_(DIST)vectors of an S matrix, and one or more V^(T) _(DIST) vectors of atranspose of a V matrix, wherein the U matrix, the S matrix and the Vmatrix were generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients, and wherein the audio decoding device 24 is furtherconfigured to obtain a value D on an audio-frame-by-audio-frame basisthat indicates the number of vectors to be extracted from a bitstream toform the one or more U_(DIST)*S_(DIST) vectors and the one or more V^(T)_(DIST) vectors.

In these and other instances, the audio decoding device 24, wherein thetransformation comprises a principal component analysis to identify thedistinct components of the soundfield and the background components ofthe soundfield.

Various aspects of the techniques described in this disclosure may alsoenable the audio encoding device 24 to perform interpolation withrespect to decomposed versions of the HOA coefficients. In someinstances, the audio decoding device 24 may be configured to obtaindecomposed interpolated spherical harmonic coefficients for a timesegment by, at least in part, performing an interpolation with respectto a first decomposition of a first plurality of spherical harmoniccoefficients and a second decomposition of a second plurality ofspherical harmonic coefficients.

In these and other instances, the first decomposition comprises a firstV matrix representative of right-singular vectors of the first pluralityof spherical harmonic coefficients.

In these and other examples, the second decomposition comprises a secondV matrix representative of right-singular vectors of the secondplurality of spherical harmonic coefficients.

In these and other instances, the first decomposition comprises a firstV matrix representative of right-singular vectors of the first pluralityof spherical harmonic coefficients, and the second decompositioncomprises a second V matrix representative of right-singular vectors ofthe second plurality of spherical harmonic coefficients.

In these and other instances, the time segment comprises a sub-frame ofan audio frame.

In these and other instances, the time segment comprises a time sampleof an audio frame.

In these and other instances, the audio decoding device 24 is configuredto obtain an interpolated decomposition of the first decomposition andthe second decomposition for a spherical harmonic coefficient of thefirst plurality of spherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is configuredto obtain interpolated decompositions of the first decomposition for afirst portion of the first plurality of spherical harmonic coefficientsincluded in the first frame and the second decomposition for a secondportion of the second plurality of spherical harmonic coefficientsincluded in the second frame, and the audio decoding device 24 isfurther configured to apply the interpolated decompositions to a firsttime component of the first portion of the first plurality of sphericalharmonic coefficients included in the first frame to generate a firstartificial time component of the first plurality of spherical harmoniccoefficients, and apply the respective interpolated decompositions to asecond time component of the second portion of the second plurality ofspherical harmonic coefficients included in the second frame to generatea second artificial time component of the second plurality of sphericalharmonic coefficients included.

In these and other instances, the first time component is generated byperforming a vector-based synthesis with respect to the first pluralityof spherical harmonic coefficients.

In these and other instances, the second time component is generated byperforming a vector-based synthesis with respect to the second pluralityof spherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is furtherconfigured to receive the first artificial time component and the secondartificial time component, compute interpolated decompositions of thefirst decomposition for the first portion of the first plurality ofspherical harmonic coefficients and the second decomposition for thesecond portion of the second plurality of spherical harmoniccoefficients, and apply inverses of the interpolated decompositions tothe first artificial time component to recover the first time componentand to the second artificial time component to recover the second timecomponent.

In these and other instances, the audio decoding device 24 is configuredto interpolate a first spatial component of the first plurality ofspherical harmonic coefficients and the second spatial component of thesecond plurality of spherical harmonic coefficients.

In these and other instances, the first spatial component comprises afirst U matrix representative of left-singular vectors of the firstplurality of spherical harmonic coefficients.

In these and other instances, the second spatial component comprises asecond U matrix representative of left-singular vectors of the secondplurality of spherical harmonic coefficients.

In these and other instances, the first spatial component isrepresentative of M time segments of spherical harmonic coefficients forthe first plurality of spherical harmonic coefficients and the secondspatial component is representative of M time segments of sphericalharmonic coefficients for the second plurality of spherical harmoniccoefficients.

In these and other instances, the first spatial component isrepresentative of M time segments of spherical harmonic coefficients forthe first plurality of spherical harmonic coefficients and the secondspatial component is representative of M time segments of sphericalharmonic coefficients for the second plurality of spherical harmoniccoefficients, and the audio decoding device 24 is configured tointerpolate the last N elements of the first spatial component and thefirst N elements of the second spatial component.

In these and other instances, the second plurality of spherical harmoniccoefficients are subsequent to the first plurality of spherical harmoniccoefficients in the time domain.

In these and other instances, the audio decoding device 24 is furtherconfigured to decompose the first plurality of spherical harmoniccoefficients to generate the first decomposition of the first pluralityof spherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is furtherconfigured to decompose the second plurality of spherical harmoniccoefficients to generate the second decomposition of the secondplurality of spherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is furtherconfigured to perform a singular value decomposition with respect to thefirst plurality of spherical harmonic coefficients to generate a Umatrix representative of left-singular vectors of the first plurality ofspherical harmonic coefficients, an S matrix representative of singularvalues of the first plurality of spherical harmonic coefficients and a Vmatrix representative of right-singular vectors of the first pluralityof spherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is furtherconfigured to perform a singular value decomposition with respect to thesecond plurality of spherical harmonic coefficients to generate a Umatrix representative of left-singular vectors of the second pluralityof spherical harmonic coefficients, an S matrix representative ofsingular values of the second plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe second plurality of spherical harmonic coefficients.

In these and other instances, the first and second plurality ofspherical harmonic coefficients each represent a planar waverepresentation of the sound field.

In these and other instances, the first and second plurality ofspherical harmonic coefficients each represent one or more mono-audioobjects mixed together.

In these and other instances, the first and second plurality ofspherical harmonic coefficients each comprise respective first andsecond spherical harmonic coefficients that represent a threedimensional sound field.

In these and other instances, the first and second plurality ofspherical harmonic coefficients are each associated with at least onespherical basis function having an order greater than one.

In these and other instances, the first and second plurality ofspherical harmonic coefficients are each associated with at least onespherical basis function having an order equal to four.

In these and other instances, the interpolation is a weightedinterpolation of the first decomposition and second decomposition,wherein weights of the weighted interpolation applied to the firstdecomposition are inversely proportional to a time represented byvectors of the first and second decomposition and wherein weights of theweighted interpolation applied to the second decomposition areproportional to a time represented by vectors of the first and seconddecomposition.

In these and other instances, the decomposed interpolated sphericalharmonic coefficients smooth at least one of spatial components and timecomponents of the first plurality of spherical harmonic coefficients andthe second plurality of spherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is configuredto compute Us[n]=HOA(n)*(V_vec[n])−1 to obtain a scalar.

In these and other instances, the interpolation comprises a linearinterpolation. In these and other instances, the interpolation comprisesa non-linear interpolation. In these and other instances, theinterpolation comprises a cosine interpolation. In these and otherinstances, the interpolation comprises a weighted cosine interpolation.In these and other instances, the interpolation comprises a cubicinterpolation. In these and other instances, the interpolation comprisesan Adaptive Spline Interpolation. In these and other instances, theinterpolation comprises a minimal curvature interpolation.

In these and other instances, the audio decoding device 24 is furtherconfigured to generate a bitstream that includes a representation of thedecomposed interpolated spherical harmonic coefficients for the timesegment, and an indication of a type of the interpolation.

In these and other instances, the indication comprises one or more bitsthat map to the type of interpolation.

In these and other instances, the audio decoding device 24 is furtherconfigured to obtain a bitstream that includes a representation of thedecomposed interpolated spherical harmonic coefficients for the timesegment, and an indication of a type of the interpolation.

In these and other instances, the indication comprises one or more bitsthat map to the type of interpolation.

Various aspects of the techniques may, in some instances, further enablethe audio decoding device 24 to be configured to obtain a bitstreamcomprising a compressed version of a spatial component of a sound field,the spatial component generated by performing a vector based synthesiswith respect to a plurality of spherical harmonic coefficients.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, afield specifying a prediction mode used when compressing the spatialcomponent.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part,Huffman table information specifying a Huffman table used whencompressing the spatial component.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, afield indicating a value that expresses a quantization step size or avariable thereof used when compressing the spatial component.

In these and other instances, the value comprises an nbits value.

In these and other instances, the bitstream comprises a compressedversion of a plurality of spatial components of the sound field of whichthe compressed version of the spatial component is included, and thevalue expresses the quantization step size or a variable thereof usedwhen compressing the plurality of spatial components.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a category identifier that identifies acompression category to which the spatial component corresponds.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, asign bit identifying whether the spatial component is a positive valueor a negative value.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a residual value of the spatial component.

In these and other instances, the device comprises an audio decodingdevice.

Various aspects of the techniques may also enable the audio decodingdevice 24 to identify a Huffman codebook to use when decompressing acompressed version of a spatial component of a plurality of compressedspatial components based on an order of the compressed version of thespatial component relative to remaining ones of the plurality ofcompressed spatial components, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients.

In these and other instances, the audio decoding device 24 is configuredto obtain a bitstream comprising the compressed version of a spatialcomponent of a sound field, and decompress the compressed version of thespatial component using, at least in part, the identified Huffmancodebook to obtain the spatial component.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, afield specifying a prediction mode used when compressing the spatialcomponent, and the audio decoding device 24 is configured to decompressthe compressed version of the spatial component based, at least in part,on the prediction mode to obtain the spatial component.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part,Huffman table information specifying a Huffman table used whencompressing the spatial component, and the audio decoding device 24 isconfigured to decompress the compressed version of the spatial componentbased, at least in part, on the Huffman table information.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, afield indicating a value that expresses a quantization step size or avariable thereof used when compressing the spatial component, and theaudio decoding device 24 is configured to decompress the compressedversion of the spatial component based, at least in part, on the value.

In these and other instances, the value comprises an nbits value.

In these and other instances, the bitstream comprises a compressedversion of a plurality of spatial components of the sound field of whichthe compressed version of the spatial component is included, the valueexpresses the quantization step size or a variable thereof used whencompressing the plurality of spatial components and the audio decodingdevice 24 is configured to decompress the plurality of compressedversion of the spatial component based, at least in part, on the value.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a category identifier that identifies acompression category to which the spatial component corresponds and theaudio decoding device 24 is configured to decompress the compressedversion of the spatial component based, at least in part, on the Huffmancode.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, asign bit identifying whether the spatial component is a positive valueor a negative value, and the audio decoding device 24 is configured todecompress the compressed version of the spatial component based, atleast in part, on the sign bit.

In these and other instances, the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a residual value of the spatial component andthe audio decoding device 24 is configured to decompress the compressedversion of the spatial component based, at least in part, on the Huffmancode included in the identified Huffman codebook.

In each of the various instances described above, it should beunderstood that the audio decoding device 24 may perform a method orotherwise comprise means to perform each step of the method for whichthe audio decoding device 24 is configured to perform In some instances,these means may comprise one or more processors. In some instances, theone or more processors may represent a special purpose processorconfigured by way of instructions stored to a non-transitorycomputer-readable storage medium. In other words, various aspects of thetechniques in each of the sets of encoding examples may provide for anon-transitory computer-readable storage medium having stored thereoninstructions that, when executed, cause the one or more processors toperform the method for which the audio decoding device 24 has beenconfigured to perform.

FIG. 6 is a flowchart illustrating exemplary operation of a contentanalysis unit of an audio encoding device, such as the content analysisunit 26 shown in the example of FIG. 4, in performing various aspects ofthe techniques described in this disclosure.

The content analysis unit 26 may, when determining whether the HOAcoefficients 11 representative of a soundfield are generated from asynthetic audio object, obtain a framed of HOA coefficients (93), whichmay be of size 25 by 1024 for a fourth order representation (i.e., N=4).After obtaining the framed HOA coefficients (which may also be denotedherein as a framed SHC matrix 11 and subsequent framed SHC matrices maybe denoted as framed SHC matrices 27B, 27C, etc.), the content analysisunit 26 may then exclude the first vector of the framed HOA coefficients11 to generate a reduced framed HOA coefficients (94).

The content analysis unit 26 may then predicted the first non-zerovector of the reduced framed HOA coefficients from remaining vectors ofthe reduced framed HOA coefficients (95). After predicting the firstnon-zero vector, the content analysis unit 26 may obtain an error basedon the predicted first non-zero vector and the actual non-zero vector(96). Once the error is obtained, the content analysis unit 26 maycompute a ratio based on an energy of the actual first non-zero vectorand the error (97). The content analysis unit 26 may then compare thisratio to a threshold (98). When the ratio does not exceed the threshold(“NO” 98), the content analysis unit 26 may determine that the framedSHC matrix 11 is generated from a recording and indicate in thebitstream that the corresponding coded representation of the SHC matrix11 was generated from a recording (100, 101). When the ratio exceeds thethreshold (“YES” 98), the content analysis unit 26 may determine thatthe framed SHC matrix 11 is generated from a synthetic audio object andindicate in the bitstream that the corresponding coded representation ofthe SHC matrix 11 was generated from a synthetic audio object (102,103). In some instances, when the framed SHC matrix 11 were generatedfrom a recording, the content analysis unit 26 passes the framed SHCmatrix 11 to the vector-based synthesis unit 27 (101). In someinstances, when the framed SHC matrix 11 were generated from a syntheticaudio object, the content analysis unit 26 passes the framed SHC matrix11 to the directional-based synthesis unit 28 (104).

FIG. 7 is a flowchart illustrating exemplary operation of an audioencoding device, such as the audio encoding device 20 shown in theexample of FIG. 4, in performing various aspects of the vector-basedsynthesis techniques described in this disclosure. Initially, the audioencoding device 20 receives the HOA coefficients 11 (106). The audioencoding device 20 may invoke the LIT unit 30, which may apply a LITwith respect to the HOA coefficients to output transformed HOAcoefficients (e.g., in the case of SVD, the transformed HOA coefficientsmay comprise the US[k] vectors 33 and the V[k] vectors 35) (107).

The audio encoding device 20 may next invoke the parameter calculationunit 32 to perform the above described analysis with respect to anycombination of the US[k] vectors 33, US[k−1] vectors 33, the V[k] and/orV[k−1] vectors 35 to identify various parameters in the manner describedabove. That is, the parameter calculation unit 32 may determine at leastone parameter based on an analysis of the transformed HOA coefficients33/35 (108).

The audio encoding device 20 may then invoke the reorder unit 34, whichmay reorder the transformed HOA coefficients (which, again in thecontext of SVD, may refer to the US[k] vectors 33 and the V[k] vectors35) based on the parameter to generate reordered transformed HOAcoefficients 33 ‘/35’ (or, in other words, the US[k] vectors 33′ and theV[k] vectors 35′), as described above (109). The audio encoding device20 may, during any of the foregoing operations or subsequent operations,also invoke the soundfield analysis unit 44. The soundfield analysisunit 44 may, as described above, perform a soundfield analysis withrespect to the HOA coefficients 11 and/or the transformed HOAcoefficients 33/35 to determine the total number of foreground channels(nFG) 45, the order of the background soundfield (N_(BG)) and the number(nBGa) and indices (i) of additional BG HOA channels to send (which maycollectively be denoted as background channel information 43 in theexample of FIG. 4) (109).

The audio encoding device 20 may also invoke the background selectionunit 48. The background selection unit 48 may determine background orambient HOA coefficients 47 based on the background channel information43 (110). The audio encoding device 20 may further invoke the foregroundselection unit 36, which may select those of the reordered US[k] vectors33′ and the reordered V[k] vectors 35′ that represent foreground ordistinct components of the soundfield based on nFG 45 (which mayrepresent a one or more indices identifying these foreground vectors)(112).

The audio encoding device 20 may invoke the energy compensation unit 38.The energy compensation unit 38 may perform energy compensation withrespect to the ambient HOA coefficients 47 to compensate for energy lossdue to removal of various ones of the HOA channels by the backgroundselection unit 48 (114) and thereby generate energy compensated ambientHOA coefficients 47′.

The audio encoding device 20 also then invoke the spatio-temporalinterpolation unit 50. The spatio-temporal interpolation unit 50 mayperform spatio-temporal interpolation with respect to the reorderedtransformed HOA coefficients 33′/35′ to obtain the interpolatedforeground signals 49′ (which may also be referred to as the“interpolated nFG signals 49”) and the remaining foreground directionalinformation 53 (which may also be referred to as the “V[k] vectors 53”)(116). The audio encoding device 20 may then invoke the coefficientreduction unit 46. The coefficient reduction unit 46 may performcoefficient reduction with respect to the remaining foreground V[k]vectors 53 based on the background channel information 43 to obtainreduced foreground directional information 55 (which may also bereferred to as the reduced foreground V[k] vectors 55) (118).

The audio encoding device 20 may then invoke the quantization unit 52 tocompress, in the manner described above, the reduced foreground V[k]vectors 55 and generate coded foreground V[k] vectors 57 (120).

The audio encoding device 20 may also invoke the psychoacoustic audiocoder unit 40. The psychoacoustic audio coder unit 40 may psychoacousticcode each vector of the energy compensated ambient HOA coefficients 47′and the interpolated nFG signals 49′ to generate encoded ambient HOAcoefficients 59 and encoded nFG signals 61. The audio encoding devicemay then invoke the bitstream generation unit 42. The bitstreamgeneration unit 42 may generate the bitstream 21 based on the codedforeground directional information 57, the coded ambient HOAcoefficients 59, the coded nFG signals 61 and the background channelinformation 43.

FIG. 8 is a flow chart illustrating exemplary operation of an audiodecoding device, such as the audio decoding device 24 shown in FIG. 5,in performing various aspects of the techniques described in thisdisclosure. Initially, the audio decoding device 24 may receive thebitstream 21 (130). Upon receiving the bitstream, the audio decodingdevice 24 may invoke the extraction unit 72. Assuming for purposes ofdiscussion that the bitstream 21 indicates that vector-basedreconstruction is to be performed, the extraction device 72 may parsethis bitstream to retrieve the above noted information, passing thisinformation to the vector-based reconstruction unit 92.

In other words, the extraction unit 72 may extract the coded foregrounddirectional information 57 (which, again, may also be referred to as thecoded foreground V[k] vectors 57), the coded ambient HOA coefficients 59and the coded foreground signals (which may also be referred to as thecoded foreground nFG signals 59 or the coded foreground audio objects59) from the bitstream 21 in the manner described above (132).

The audio decoding device 24 may further invoke the quantization unit74. The quantization unit 74 may entropy decode and dequantize the codedforeground directional information 57 to obtain reduced foregrounddirectional information 55 _(k) (136). The audio decoding device 24 mayalso invoke the psychoacoustic decoding unit 80. The psychoacousticaudio coding unit 80 may decode the encoded ambient HOA coefficients 59and the encoded foreground signals 61 to obtain energy compensatedambient HOA coefficients 47′ and the interpolated foreground signals 49′(138). The psychoacoustic decoding unit 80 may pass the energycompensated ambient HOA coefficients 47′ to HOA coefficient formulationunit 82 and the nFG signals 49′ to the reorder unit 84.

The reorder unit 84 may receive syntax elements indicative of theoriginal order of the foreground components of the HOA coefficients 11.The reorder unit 84 may, based on these reorder syntax elements, reorderthe interpolated nFG signals 49′ and the reduced foreground V[k] vectors55 _(k) to generate reordered nFG signals 49″ and reordered foregroundV[k] vectors 55 _(k)′ (140). The reorder unit 84 may output thereordered nFG signals 49″ to the foreground formulation unit 78 and thereordered foreground V[k] vectors 55 _(k)′ to the spatio-temporalinterpolation unit 76.

The audio decoding device 24 may next invoke the spatio-temporalinterpolation unit 76. The spatio-temporal interpolation unit 76 mayreceive the reordered foreground directional information 55 _(k)′ andperform the spatio-temporal interpolation with respect to the reducedforeground directional information 55 _(k)/55 _(k-1) to generate theinterpolated foreground directional information 55 _(k)″ (142). Thespatio-temporal interpolation unit 76 may forward the interpolatedforeground V[k] vectors 55 _(k)″ to the foreground formulation unit 718.

The audio decoding device 24 may invoke the foreground formulation unit78. The foreground formulation unit 78 may perform matrix multiplicationthe interpolated foreground signals 49″ by the interpolated foregrounddirectional information 55 _(k)″ to obtain the foreground HOAcoefficients 65 (144). The audio decoding device 24 may also invoke theHOA coefficient formulation unit 82. The HOA coefficient formulationunit 82 may add the foreground HOA coefficients 65 to ambient HOAchannels 47′ so as to obtain the HOA coefficients 11′ (146).

FIGS. 9A-9L are block diagrams illustrating various aspects of the audioencoding device 20 of the example of FIG. 4 in more detail. FIG. 9A is ablock diagram illustrating the LIT unit 30 of the audio encoding device20 in more detail. As shown in the example of FIG. 9A, the LIT unit 30may include multiple different linear invertible transforms 200-200N.The LIT unit 30 may include, to provide a few examples, a singular valuedecomposition (SVD) transform 200A (“SVD 200A”), a principle componentanalysis (PCA) transform 200B (“PCA 200B”), a Karhunen-Loève transform(KLT) 200C (“KLT 200C”), a fast Fourier transform (FFT) 200D (“FFT200D”) and a discrete cosine transform (DCT) 200N (“DCT 200N”). The LITunit 30 may invoke any one of these linear invertible transforms 200 toapply the respective transform with respect to the HOA coefficients 11and generate respective transformed HOA coefficients 33/35.

Although described as being performed directly with respect to the HOAcoefficients 11, the LIT unit 30 may apply the linear invertibletransforms 200 to derivatives of the HOA coefficients 11. For example,the LIT unit 30 may apply the SVD 200 with respect to a power spectraldensity matrix derived from the HOA coefficients 11. The power spectraldensity matrix may be denoted as PSD and obtained through matrixmultiplication of the transpose of the hoaFrame to the hoaFrame, asoutlined in the pseudo-code that follows below. The hoaFrame notationrefers to a frame of the HOA coefficients 11.

The LIT unit 30 may, after applying the SVD 200 (svd) to the PSD, mayobtain an S[k]² matrix (S_squared) and a V[k] matrix. The S[k]² matrixmay denote a squared S[k] matrix, whereupon the LIT unit 30 (or,alternatively, the SVD unit 200 as one example) may apply a square rootoperation to the S[k]² matrix to obtain the S[k] matrix. The SVD unit200 may, in some instances, perform quantization with respect to theV[k] matrix to obtain a quantized V[k] matrix (which may be denoted asV[k]′ matrix). The LIT unit 30 may obtain the U[k] matrix by firstmultiplying the S[k] matrix by the quantized V[k]′ matrix to obtain anSV[k]′ matrix. The LIT unit 30 may next obtain the pseudo-inverse (pinv)of the SV[k]′ matrix and then multiply the HOA coefficients 11 by thepseudo-inverse of the SV[k]′ matrix to obtain the U[k] matrix. Theforegoing may be represented by the following pseud-code:

PSD = hoaFrame’*hoaFrame; [V, S_squared] = svd(PSD,’econ’); S =sqrt(S_squared); U = hoaFrame * pinv(S*V’);

By performing SVD with respect to the power spectral density (PSD) ofthe HOA coefficients rather than the coefficients themselves, the LITunit 30 may potentially reduce the computational complexity ofperforming the SVD in terms of one or more of processor cycles andstorage space, while achieving the same source audio encoding efficiencyas if the SVD were applied directly to the HOA coefficients. That is,the above described PSD-type SVD may be potentially less computationaldemanding because the SVD is done on an F*F matrix (with F the number ofHOA coefficients). Compared to a M*F matrix with M is the framelength,i.e., 1024 or more samples. The complexity of an SVD may now, throughapplication to the PSD rather than the HOA coefficients 11, be aroundO(L̂3) compared to O(M*L̂2) when applied to the HOA coefficients 11 (whereO(*) denotes the big-O notation of computation complexity common to thecomputer-science arts).

FIG. 9B is a block diagram illustrating the parameter calculation unit32 of the audio encoding device 20 in more detail. The parametercalculation unit 32 may include an energy analysis unit 202 and across-correlation unit 204. The energy analysis unit 202 may perform theabove described energy analysis with respect to one or more of the US[k]vectors 33 and the V[k] vectors 35 to generate one or more of thecorrelation parameter (R), the directional properties parameters (θ, φ,r), and the energy property (e) for one or more of the current frame (k)or the previous frame (k−1). Likewise, the cross-correlation unit 204may perform the above described cross-correlation with respect to one ormore of the US[k] vectors 33 and the V[k] vectors 35 to generate one ormore of the correlation parameter (R), the directional propertiesparameters (θ, φ, r), and the energy property (e) for one or more of thecurrent frame (k) or the previous frame (k−1). The parameter calculationunit 32 may output the current frame parameters 37 and the previousframe parameters 39.

FIG. 9C is a block diagram illustrating the reorder unit 34 of the audioencoding device 20 in more detail. The reorder unit 34 includes aparameter evaluation unit 206 and a vector reorder unit 208. Theparameter evaluation unit 206 represents a unit configured to evaluatethe previous frame parameters 39 and the current frame parameters 37 inthe manner described above to generate reorder indices 205. The reorderindices 205 include indices identifying how the vectors of US[k] vectors33 and the vectors of the V[k] vectors 35 are to be reordered (e.g., byindex pairs with the first index of the pair identifying the index ofthe current vector location and the second index of the pair identifyingthe reordered location of the vector). The vector reorder unit 208represents a unit configured to reorder the US[k] vectors 33 and theV[k] vectors 35 in accordance with the reorder indices 205. The reorderunit 34 may output the reordered US[k] vectors 33′ and the reorderedV[k] vectors 35′, while also passing the reorder indices 205 as one ormore syntax elements to the bitstream generation unit 42.

FIG. 9D is a block diagram illustrating the soundfield analysis unit 44of the audio encoding device 20 in more detail. As shown in the exampleof FIG. 9D, the soundfield analysis unit 44 may include a singular valueanalysis unit 210A, an energy analysis unit 210B, a spatial analysisunit 210C, a spatial masking analysis unit 210D, a diffusion analysisunit 210E and a directional analysis unit 210F. The singular valueanalysis unit 210A may represent a unit configured to analyze the slopeof the curve created by the descending diagonal values of S vectors(forming part of the US[k] vectors 33), where the large singular valuesrepresent foreground or distinct sounds and the low singular valuesrepresent background components of the soundfield, as described above.The energy analysis unit 210B may represent a unit configured todetermine the energy of the V[k] vectors 35 on a per vector basis.

The spatial analysis unit 210C may represent a unit configured toperform the spatial energy analysis described above throughtransformation of the HOA coefficients 11 into the spatial domain andidentifying areas of high energy representative of directionalcomponents of the soundfield that should be preserved. The spatialmasking analysis unit 210D may represent a unit configured to performthe spatial masking analysis in a manner similar to that of the spatialenergy analysis, except that the spatial masking analysis unit 210D mayidentify spatial areas that are masked by spatially proximate higherenergy sounds. The diffusion analysis unit 210E may represent a unitconfigured to perform the above described diffusion analysis withrespect to the HOA coefficients 11 to identify areas of diffuse energythat may represent background components of the soundfield. Thedirectional analysis unit 210F may represent a unit configured toperform the directional analysis noted above that involves computing theVS[k] vectors, and squaring and summing each entry of each of theseVS[k] vectors to identify a directionality quotient. The directionalanalysis unit 210F may provide this directionality quotient for each ofthe VS[k] vectors to the background/foreground (BG/FG) identification(ID) unit 212.

The soundfield analysis unit 44 may also include the BG/FG ID unit 212,which may represent a unit configured to determine the total number offoreground channels (nFG) 45, the order of the background soundfield(N_(BG)) and the number (nBGa) and indices (i) of additional BG HOAchannels to send (which may collectively be denoted as backgroundchannel information 43 in the example of FIG. 4) based on anycombination of the analysis output by any combination of analysis units210-210F. The BG/FG ID unit 212 may determine the nFG 45 and thebackground channel information 43 so as to achieve the target bitrate41.

FIG. 9E is a block diagram illustrating the foreground selection unit 36of the audio encoding device 20 in more detail. The foreground selectionunit 36 includes a vector parsing unit 214 that may parse or otherwiseextract the foreground US[k] vectors 49 and the foreground V[k] vectors51 _(k) identified by the nFG syntax element 45 from the reordered US[k]vectors 33′ and the reordered V[k] vectors 35′. The vector parsing unit214 may parse the various vectors representative of the foregroundcomponents of the soundfield identified by the soundfield analysis unit44 and specified by the nFG syntax element 45 (which may also bereferred to as foreground channel information 45). As shown in theexample of FIG. 9E, the vector parsing unit 214 may select, in someinstances, non-consecutive vectors within the foreground US[k] vectors49 and the foreground V[k] vectors 51 _(k) to represent the foregroundcomponents of the soundfield. Moreover, the vector parsing unit 214 mayselect, in some instances, the same vectors (position-wise) of theforeground US[k] vectors 49 and the foreground V[k] vectors 51 _(k) torepresent the foreground components of the soundfield.

FIG. 9F is a block diagram illustrating the background selection unit 48of the audio encoding device 20 in more detail. The background selectionunit 48 may determine background or ambient HOA coefficients 47 based onthe background channel information (e.g., the background soundfield(N_(BG)) and the number (nBGa) and the indices (i) of additional BG HOAchannels to send). For example, when N_(BG) equals one, the backgroundselection unit 48 may select the HOA coefficients 11 for each sample ofthe audio frame having an order equal to or less than one. Thebackground selection unit 48 may, in this example, then select the HOAcoefficients 11 having an index identified by one of the indices (i) asadditional BG HOA coefficients, where the nBGa is provided to thebitstream generation unit 42 to be specified in the bitstream 21 so asto enable the audio decoding device, such as the audio decoding device24 shown in the example of FIG. 5, to parse the BG HOA coefficients 47from the bitstream 21. The background selection unit 48 may then outputthe ambient HOA coefficients 47 to the energy compensation unit 38. Theambient HOA coefficients 47 may have dimensions D: M×[(N_(BG)+1)²+nBGa].

FIG. 9G is a block diagram illustrating the energy compensation unit 38of the audio encoding device 20 in more detail. The energy compensationunit 38 may represent a unit configured to perform energy compensationwith respect to the ambient HOA coefficients 47 to compensate for energyloss due to removal of various ones of the HOA channels by thebackground selection unit 48. The energy compensation unit 38 mayinclude an energy determination unit 218, an energy analysis unit 220and an energy amplification unit 222.

The energy determination unit 218 may represent a unit configured toidentify the RMS for each row and/or column of on one or more of thereordered US[k] matrix 33′ and the reordered V[k] matrix 35′. The energydetermination unit 38 may also identify the RMS for each row and/orcolumn of one or more of the selected foreground channels, which mayinclude the nFG signals 49 and the foreground V[k] vectors 51 _(k), andthe order-reduced ambient HOA coefficients 47. The RMS for each rowand/or column of the one or more of the reordered US[k] matrix 33′ andthe reordered V[k] matrix 35′ may be stored to a vector denotedRMS_(FULL), while the RMS for each row and/or column of one or more ofthe nFG signals 49, the foreground V[k] vectors 51 _(k), and theorder-reduced ambient HOA coefficients 47 may be stored to a vectordenoted RMS_(REDUCED).

In some examples, to determine each RMS of respective rows and/orcolumns of one or more of the reordered US[k] matrix 33′, the reorderedV[k] matrix 35′, the nFG signals 49, the foreground V[k] vectors 51_(k), and the order-reduced ambient HOA coefficients 47, the energydetermination unit 218 may first apply a reference spherical harmonicscoefficients (SHC) renderer to the columns. Application of the referenceSHC renderer by the energy determination unit 218 allows fordetermination of RMS in the SHC domain to determine the energy of theoverall soundfield described by each row and/or column of the framerepresented by rows and/or columns of one or more of the reordered US[k]matrix 33′, the reordered V[k] matrix 35′, the nFG signals 49, theforeground V[k] vectors 51 _(k), and the order-reduced ambient HOAcoefficients 47. The energy determination unit 38 may pass thisRMS_(FULL) and RMS_(REDUCED) vectors to the energy analysis unit 220.

The energy analysis unit 220 may represent a unit configured to computean amplification value vector Z, in accordance with the followingequation: Z=RMS_(FULL)/RMS_(REDUCED). The energy analysis unit 220 maythen pass this amplification value vector Z to the energy amplificationunit 222. The energy amplification unit 222 may represent a unitconfigured to apply this amplification value vector Z or variousportions thereof to one or more of the nFG signals 49, the foregroundV[k] vectors 51 _(k), and the order-reduced ambient HOA coefficients 47.In some instances, the amplification value vector Z is applied to onlythe order-reduced ambient HOA coefficients 47 per the following equationHOA_(BG-RED)′=HOA_(BG-RED)Z^(T), where HOA_(BG-RED) denotes theorder-reduced ambient HOA coefficients 47, HOA_(BG-RED)′ denotes theenergy compensated, reduced ambient HOA coefficients 47′ and Z^(T)denotes the transpose of the Z vector.

FIG. 9H is a block diagram illustrating, in more detail, thespatio-temporal interpolation unit 50 of the audio encoding device 20shown in the example of FIG. 4. The spatio-temporal interpolation unit50 may represent a unit configured to receive the foreground V[k]vectors 51 _(k) for the k'th frame and the foreground V[k−1] vectors 51_(k-1) for the previous frame (hence the k−1 notation) and performspatio-temporal interpolation to generate interpolated foreground V[k]vectors. The spatio-temporal interpolation unit 50 may include a Vinterpolation unit 224 and a foreground adaptation unit 226.

The V interpolation unit 224 may select a portion of the currentforeground V[k] vectors 51 _(k) to interpolate based on the remainingportions of the current foreground V[k] vectors 51 _(k) and the previousforeground V[k−1] vectors 51 _(k-1). The V interpolation unit 224 mayselect the portion to be one or more of the above noted sub-frames oronly a single undefined portion that may vary on a frame-by-frame basis.The V interpolation unit 224 may, in some instances, select a single 128sample portion of the 1024 samples of the current foreground V[k]vectors 51 _(k) to interpolate. The V interpolation unit 224 may thenconvert each of the vectors in the current foreground V[k] vectors 51_(k) and the previous foreground V[k−1] vectors 51 _(k-1) to separatespatial maps by projecting the vectors onto a sphere (using a projectionmatrix such as a T-design matrix). The V interpolation unit 224 may theninterpret the vectors in V as shapes on a sphere. To interpolate the Vmatrices for the 256 sample portion, the V interpolation unit 224 maythen interpolate these spatial shapes—and then transform them back tothe spherical harmonic domain vectors via the inverse of the projectionmatrix. The techniques of this disclosure may, in this manner, provide asmooth transition between V matrices. The V interpolation unit 224 maythen generate the remaining V[k] vectors 53, which represent theforeground V[k] vectors 51 _(k) after being modified to remove theinterpolated portion of the foreground V[k] vectors 51 _(k). The Vinterpolation unit 224 may then pass the interpolated foreground V[k]vectors 51 _(k)′ to the nFG adaptation unit 226.

When selecting a single portion to interpolation, the V interpolationunit 224 may generate a syntax element denotedCodedSpatialInterpolationTime 254, which identifies the duration or, inother words, time of the interpolation (e.g., in terms of a number ofsamples). When selecting a single portion of perform the sub-frameinterpolation, the V interpolation unit 224 may also generate anothersyntax element denoted SpatialInterpolationMethod 255, which mayidentify a type of interpolation performed (or, in some instances,whether interpolation was or was not performed). The spatio-temporalinterpolation unit 50 may output these syntax elements 254 and 255 tothe bitstream generation unit 42.

The nFG adaptation unit 226 may represent a unit configured to generatedthe adapted nFG signals 49′. The nFG adaptation unit 226 may generatethe adapted nFG signals 49′ by first obtaining the foreground HOAcoefficients through multiplication of the nFG signals 49 by theforeground V[k] vectors 51 _(k). After obtaining the foreground HOAcoefficients, the nFG adaptation unit 226 may divide the foreground HOAcoefficients by the interpolated foreground V[k] vectors 53 to obtainthe adapted nFG signals 49′ (which may be referred to as theinterpolated nFG signals 49′ given that these signals are derived fromthe interpolated foreground V[k] vectors 51 _(k)′).

FIG. 9I is a block diagram illustrating, in more detail, the coefficientreduction unit 46 of the audio encoding device 20 shown in the exampleof FIG. 4. The coefficient reduction unit 46 may represent a unitconfigured to perform coefficient reduction with respect to theremaining foreground V[k] vectors 53 based on the background channelinformation 43 to output reduced foreground V[k] vectors 55 to thequantization unit 52. The reduced foreground V[k] vectors 55 may havedimensions D: [(N+1)²−(N_(BG)+1)²−nBGa]×nFG.

The coefficient reduction unit 46 may include a coefficient minimizingunit 228, which may represent a unit configured to reduce or otherwiseminimize the size of each of the remaining foreground V[k] vectors 53 byremoving any coefficients that are accounted for in the background HOAcoefficients 47 (as identified by the background channel information43). The coefficient minimizing unit 228 may remove those coefficientsidentified by the background channel information 43 to obtain thereduced foreground V[k] vectors 55.

FIG. 9J is a block diagram illustrating, in more detail, thepsychoacoustic audio coder unit 40 of the audio encoding device 20 shownin the example of FIG. 4. The psychoacoustic audio coder unit 40 mayrepresent a unit configured to perform psychoacoustic encoding withrespect to the energy compensated background HOA coefficients 47′ andthe interpolated nFG signals 49′. As shown in the example of FIG. 9H,the psychoacoustic audio coder unit 40 may invoke multiple instances ofa psychoacoustic audio encoders 40A-40N to audio encode each of thechannels of the energy compensated background HOA coefficients 47′(where a channel in this context refers to coefficients for all of thesamples in the frame corresponding to a particular order/sub-orderspherical basis function) and each signal of the interpolated nFGsignals 49′. In some examples, the psychoacoustic audio coder unit 40instantiates or otherwise includes (when implemented in hardware) audioencoders 40A-40N of sufficient number to separately encode each channelof the energy compensated background HOA coefficients 47′ (or nBGa plusthe total number of indices (i)) and each signal of the interpolated nFGsignals 49′ (or nFG) for a total of nBGa plus the total number ofindices (i) of additional ambient HOA channels plus nFG. The audioencoders 40A-40N may output the encoded background HOA coefficients 59and the encoded nFG signals 61.

FIG. 9K is a block diagram illustrating, in more detail, thequantization unit 52 of the audio encoding device 20 shown in theexample of FIG. 4. In the example of FIG. 9K, the quantization unit 52includes a uniform quantization unit 230, a nbits unit 232, a predictionunit 234, a prediction mode unit 236 (“Pred Mode Unit 236”), a categoryand residual coding unit 238, and a Huffman table selection unit 240.The uniform quantization unit 230 represents a unit configured toperform the uniform quantization described above with respect to one ofthe spatial components (which may represent any one of the reducedforeground V[k] vectors 55). The nbits unit 232 represents a unitconfigured to determine the nbits parameter or value.

The prediction unit 234 represents a unit configured to performprediction with respect to the quantized spatial component. Theprediction unit 234 may perform prediction by performing an element-wisesubtraction of the current one of the reduced foreground V[k] vectors 55by a temporally subsequent corresponding one of the reduced foregroundV[k] vectors 55 (which may be denoted as reduced foreground V[k−1]vectors 55). The result of this prediction may be referred to as apredicted spatial component.

The prediction mode unit 236 may represent a unit configured to selectthe prediction mode. The Huffman table selection unit 240 may representa unit configured to select an appropriate Huffman table for coding ofthe cid. The prediction mode unit 236 and the Huffman table selectionunit 240 may operate, as one example, in accordance with the followingpseudo-code:

For a given nbits, retrieve all the Huffman Tables having nbits   B00 =0; B01 = 0; B10 = 0; B11 = 0;   // initialize to compute expected bitsper coding mode   for m = 1:(# elements in the vector)    // calculateexpected number of bits for a vector element v(m)    // withoutprediction and using Huffman Table 5    B00 = B00 + calculate_bits(v(m),HT5);    // without prediction and using Huffman Table {1,2,3}    B01 =B01 + calculate_bits(v(m), HTq); q in {1,2,3}    // calculate expectednumber of bits for prediction residual e(m)    e(m) = v(m) − vp(m); //vp(m): previous frame vector element    // with prediction and usingHuffman Table 4    B10 = B10 + calculate_bits(e(m), HT4);    // withprediction and using Huffman Table 5    B11 = B11 + calculate_bits(e(m),HT5);   end   // find a best prediction mode and Huffman table thatyield minimum   bits   // best prediction mode and Huffman table areflagged by pflag and   Htflag, respectively   [Be, id] = min( [B00 B01B10 B11] );   Switch id    case 1: pflag = 0; HTflag = 0;    case 2:pflag = 0; HTflag = 1;    case 3: pflag = 1; HTflag = 0;    case 4:pflag = 1; HTflag = 1; end

Category and residual coding unit 238 may represent a unit configured toperform the categorization and residual coding of a predicted spatialcomponent or the quantized spatial component (when prediction isdisabled) in the manner described in more detail above.

As shown in the example of FIG. 9K, the quantization unit 52 may outputvarious parameters or values for inclusion either in the bitstream 21 orside information (which may itself be a bitstream separate from thebitstream 21). Assuming the information is specified in the side channelinformation, the scalar/entropy quantization unit 50 may output thenbits value as nbits value 233, the prediction mode as prediction mode237 and the Huffman table information as Huffman table information 241to bitstream generation unit 42 along with the compressed version of thespatial component (shown as coded foreground V[k] vectors 57 in theexample of FIG. 4), which in this example may refer to the Huffman codeselected to encode the cid, the sign bit, and the block coded residual.The nbits value may be specified once in the side channel informationfor all of the coded foreground V[k] vectors 57, while the predictionmode and the Huffman table information may be specified for each one ofthe coded foreground V[k] vectors 57. The portion of the bitstream thatspecifies the compressed version of the spatial component is shown inmore in the example of FIGS. 10B and/or 10C.

FIG. 9L is a block diagram illustrating, in more detail, the bitstreamgeneration unit 42 of the audio encoding device 20 shown in the exampleof FIG. 4. The bitstream generation unit 42 may include a main channelinformation generation unit 242 and a side channel informationgeneration unit 244. The main channel information generation unit 242may generate a main bitstream 21 that includes one or more, if not all,of reorder indices 205, the CodedSpatialInterpolationTime syntax element254, the SpatialInterpolationMethod syntax element 255 the encodedbackground HOA coefficients 59, and the encoded nFG signals 61. The sidechannel information generation unit 244 may represent a unit configuredto generate a side channel bitstream 21B that may include one or more,if not all, of the nbits value 233, the prediction mode 237, the Huffmantable information 241 and the coded foreground V[k] vectors 57. Thebitstreams 21 and 21B may be collectively referred to as the bitstream21. In some contexts, the bitstream 21 may only refer to the mainchannel bitstream 21, while the bitstream 21B may be referred to as sidechannel information 21B.

FIGS. 10A-10O(ii) are diagrams illustrating portions of the bitstream orside channel information that may specify the compressed spatialcomponents in more detail. In the example of FIG. 10A, a portion 250includes a renderer identifier (“renderer ID”) field 251 and aHOADecoderConfig field 252. The renderer ID field 251 may represent afield that stores an ID of the renderer that has been used for themixing of the HOA content. The HOADecoderConfig field 252 may representa field configured to store information to initialize the HOA spatialdecoder.

The HOADecoderConfig field 252 further includes a directionalinformation (“direction info”) field 253, aCodedSpatialInterpolationTime field 254, a SpatialInterpolationMethodfield 255, a CodedVVecLength field 256 and a gain info field 257. Thedirectional information field 253 may represent a field that storesinformation for configuring the directional-based synthesis decoder. TheCodedSpatialInterpolationTime field 254 may represent a field thatstores a time of the spatio-temporal interpolation of the vector-basedsignals. The SpatialInterpolationMethod field 255 may represent a fieldthat stores an indication of the interpolation type applied during thespatio-temporal interpolation of the vector-based signals. TheCodedVVecLength field 256 may represent a field that stores a length ofthe transmitted data vector used to synthesize the vector-based signals.The gain info field 257 represents a field that stores informationindicative of a gain correction applied to the signals.

In the example of FIG. 10B, the portion 258A represents a portion of theside-information channel, where the portion 258A includes a frame header259 that includes a number of bytes field 260 and an nbits field 261.The number of bytes field 260 may represent a field to express thenumber of bytes included in the frame for specifying spatial componentsv1 through vn including the zeros for byte alignment field 264. Thenbits field 261 represents a field that may specify the nbits valueidentified for use in decompressing the spatial components v1-vn.

As further shown in the example of FIG. 10B, the portion 258A mayinclude sub-bitstreams for v1-vn, each of which includes a predictionmode field 262, a Huffman Table information field 263 and acorresponding one of the compressed spatial components v1-vn. Theprediction mode field 262 may represent a field to store an indicationof whether prediction was performed with respect to the correspondingone of the compressed spatial components v1-vn. The Huffman tableinformation field 263 represents a field to indicate, at least in part,which Huffman table is to be used to decode various aspects of thecorresponding one of the compressed spatial components v1-vn.

In this respect, the techniques may enable audio encoding device 20 toobtain a bitstream comprising a compressed version of a spatialcomponent of a soundfield, the spatial component generated by performinga vector based synthesis with respect to a plurality of sphericalharmonic coefficients.

FIG. 10C is a diagram illustrating an alternative example of a portion258B of the side channel information that may specify the compressedspatial components in more detail. In the example of FIG. 10C, theportion 258B includes a frame header 259 that includes an Nbits field261. The Nbits field 261 represents a field that may specify an nbitsvalue identified for use in decompressing the spatial components v1-vn.

As further shown in the example of FIG. 10C, the portion 258B mayinclude sub-bitstreams for v1-vn, each of which includes a predictionmode field 262, a Huffman Table information field 263 and acorresponding one of the compressed spatial components v1-vn. Theprediction mode field 262 may represent a field to store an indicationof whether prediction was performed with respect to the correspondingone of the compressed spatial components v1-vn. The Huffman tableinformation field 263 represents a field to indicate, at least in part,which Huffman table is to be used to decode various aspects of thecorresponding one of the compressed spatial components v1-vn.

Nbits field 261 in the illustrated example includes subfields A 265, B266, and C 267. In this example, A 265 and B 266 are each 1 bitsub-fields, while C 267 is a 2 bit sub-field. Other examples may includedifferently-sized sub-fields 265, 266, and 267. The A field 265 and theB field 266 may represent fields that store first and second mostsignificant bits of the Nbits field 261, while the C field 267 mayrepresent a field that stores the least significant bits of the Nbitsfield 261.

The portion 258B may also include an AddAmbHoaInfoChannel field 268. TheAddAmbHoaInfoChannel field 268 may represent a field that storesinformation for the additional ambient HOA coefficients. As shown in theexample of FIG. 10C, the AddAmbHoaInfoChannel 268 includes aCodedAmbCoeffIdx field 246, an AmbCoeffIdxTransition field 247. TheCodedAmbCoeffIdx field 246 may represent a field that stores an index ofan additional ambient HOA coefficient. The AmbCoeffIdxTransition field247 may represent a field configured to store data indicative whether,in this frame, an additional ambient HOA coefficient is either beingfaded in or faded out.

FIG. 10C(i) is a diagram illustrating an alternative example of aportion 258B′ of the side channel information that may specify thecompressed spatial components in more detail. In the example of FIG.10C(i), the portion 258B′ includes a frame header 259 that includes anNbits field 261. The Nbits field 261 represents a field that may specifyan nbits value identified for use in decompressing the spatialcomponents v1-vn.

As further shown in the example of FIG. 10C(i), the portion 258B′ mayinclude sub-bitstreams for v1-vn, each of which includes a Huffman Tableinformation field 263 and a corresponding one of the compresseddirectional components v1-vn without including the prediction mode field262. In all other respects, the portion 258B′ may be similar to theportion 258B.

FIG. 10D is a diagram illustrating a portion 258C of the bitstream 21 inmore detail. The portion 258C is similar to the portion 258, except thatthe frame header 259 and the zero byte alignment 264 have been removed,while the Nbits 261 field has been added before each of the bitstreamsfor v1-vn, as shown in the example of FIG. 10D.

FIG. 10D(i) is a diagram illustrating a portion 258C′ of the bitstream21 in more detail. The portion 258C′ is similar to the portion 258Cexcept that the portion 258C′ does not include the prediction mode field262 for each of the V vectors v1-vn.

FIG. 10E is a diagram illustrating a portion 258D of the bitstream 21 inmore detail. The portion 258D is similar to the portion 258B, exceptthat the frame header 259 and the zero byte alignment 264 have beenremoved, while the Nbits 261 field has been added before each of thebitstreams for v1-vn, as shown in the example of FIG. 10E.

FIG. 10E(i) is a diagram illustrating a portion 258D′ of the bitstream21 in more detail. The portion 258D′ is similar to the portion 258Dexcept that the portion 258D′ does not include the prediction mode field262 for each of the V vectors v1-vn. In this respect, the audio encodingdevice 20 may generate a bitstream 21 that does not include theprediction mode field 262 for each compressed V vector, as demonstratedwith respect to the examples of FIGS. 10C(i), 10D(i) and 10E(i).

FIG. 10F is a diagram illustrating, in a different manner, the portion250 of the bitstream 21 shown in the example of FIG. 10A. The portion250 shown in the example of FIG. 10D, includes an HOAOrder field (whichwas not shown in the example of FIG. 10F for ease of illustrationpurposes), a MinAmbHoaOrder field (which again was not shown in theexample of FIG. 10 for ease of illustration purposes), the directioninfo field 253, the CodedSpatialInterpolationTime field 254, theSpatialInterpolationMethod field 255, the CodedVVecLength field 256 andthe gain info field 257. As shown in the example of FIG. 10F, theCodedSpatialInterpolationTime field 254 may comprise a three bit field,the SpatialInterpolationMethod field 255 may comprise a one bit field,and the CodedVVecLength field 256 may comprise two bit field.

FIG. 10G is a diagram illustrating a portion 248 of the bitstream 21 inmore detail. The portion 248 represents a unified speech/audio coder(USAC) three-dimensional (3D) payload including an HOAframe field 249(which may also be denoted as the sideband information, side channelinformation, or side channel bitstream). As shown in the example of FIG.10E, the expanded view of the HOAFrame field 249 may be similar to theportion 258B of the bitstream 21 shown in the example of FIG. 10C. The“ChannelSideInfoData” includes a ChannelType field 269, which was notshown in the example of FIG. 10C for ease of illustration purposes, theA field 265 denoted as “ba” in the example of FIG. 10E, the B field 266denoted as “bb” in the example of FIG. 10E and the C field 267 denotedas “unitC” in the example of FIG. 10E. The ChannelType field indicateswhether the channel is a direction-based signal, a vector-based signalor an additional ambient HOA coefficient. Between differentChannelSideInfoData there is AddAmbHoaInfoChannel fields 268 with thedifferent V vector bitstreams denoted in grey (e.g., “bitstream for v1”and “bitstream for v2”).

FIGS. 10H-10O(ii) are diagrams illustrating another various exampleportions 248H-248O of the bitstream 21 along with accompanying HOAconfigportions 250H-250O in more detail. FIGS. 10H(i) and 10H(ii) illustrate afirst example bitstream 248H and accompanying HOA config portion 250Hhaving been generated to correspond with case 0 in the abovepseudo-code. In the example of FIG. 10H(i), the HOAconfig portion 250Hincludes a CodedVVecLength syntax element 256 set to indicate that allelements of a V vector are coded, e.g., all 16 V vector elements. TheHOAconfig portion 250H also includes a SpatialInterpolationMethod syntaxelement 255 set to indicate that the interpolation function of thespatio-temporal interpolation is a raised cosine. The HOAconfig portion250H moreover includes a CodedSpatialInterpolationTime 254 set toindicate an interpolated sample duration of 256. The HOAconfig portion250H further includes a MinAmbHoaOrder syntax element 150 set toindicate that the MinimumHOA order of the ambient HOA content is one,where the audio decoding device 24 may derive a MinNumofCoeffsForAmbHOAsyntax element to be equal to (1+1)² or four. The HOAconfig portion 250Hincludes an HoaOrder syntax element 152 set to indicate the HOA order ofthe content to be equal to three (or, in other words, N=3), where theaudio decoding device 24 may derive a NumOfHoaCoeffs to be equal to(N+1)² or 16.

As further shown in the example of FIG. 10H(i), the portion 248Hincludes a unified speech and audio coding (USAC) three-dimensional(USAC-3D) audio frame in which two HOA frames 249A and 249B are storedin a USAC extension payload given that two audio frames are storedwithin one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10H(ii) illustrates the frames 249A and 249B in more detail. Asshown in the example of FIG. 10H(ii), frame 249A includesChannelSideInfoData (CSID) fields 154-154C, an HOAGainCorrectionData(HOAGCD) fields, VVectorData fields 156 and 156B and HOAPredictionInfofields. The CSID field 154 includes the unitC 267, bb 266 and ba265along with the ChannelType 269, each of which are set to thecorresponding values 01, 1, 0 and 01 shown in the example of FIG.10H(i). The CSID field 154B includes the unitC 267, bb 266 and ba265along with the ChannelType 269, each of which are set to thecorresponding values 01, 1, 0 and 01 shown in the example of FIG.10H(ii). The CSID field 154C includes the ChannelType field 269 having avalue of 3. Each of the CSID fields 154-154C correspond to therespective one of the transport channels 1, 2 and 3. In effect, eachCSID field 154-154C indicates whether the corresponding payload 156 and156B are direction-based signals (when the corresponding ChannelType isequal to zero), vector-based signals (when the corresponding ChannelTypeis equal to one), an additional Ambient HOA coefficient (when thecorresponding ChannelType is equal to two), or empty (when theChannelType is equal to three).

In the example of FIG. 10H(ii), the frame 249A includes two vector-basedsignals (given the ChannelType 269 equal to 1 in the CSID fields 154 and154B) and an empty (given the ChannelType 269 equal to 3 in the CSIDfields 154C). Given the forgoing HOAconfig portion 250H, the audiodecoding device 24 may determine that all 16 V vector elements areencoded. Hence, the VVectorData 156 and 156B each includes all 16 vectorelements, each of them uniformly quantized with 8 bits. As noted by thefootnote 1, the number and indices of coded VVectorData elements arespecified by the parameter CodedVVecLength=0. Moreover, as noted by thesingle asterisk (*), the coding scheme is signaled by NbitsQ=5 in theCSID field for the corresponding transport channel.

In the frame 249B, the CSID field 154 and 154B are the same as that inframe 249, while the CSID field 154C of the frame 249B switched to aChannelType of one. The CSID field 154C of the frame 249B thereforeincludes the Cbflag 267, the Pflag 267 (indicating Huffman encoding) andNbits 261 (equal to twelve). As a result, the frame 249B includes athird VVectorData field 156C that includes 16 V vector elements, each ofthem uniformly quantized with 12 bits and Huffman coded. As noted above,the number and indices of the coded VVectorData elements are specifiedby the parameter CodedVVecLength=0, while the Huffman coding scheme issignaled by the NbitsQ=12, CbFlag=0 and Pflag=0 in the CSID field 154Cfor this particular transport channel (e.g., transport channel no. 3).

The example of FIGS. 10I(i) and 10I(ii) illustrate a second examplebitstream 248I and accompanying HOA config portion 250I having beengenerated to correspond with case 0 in the above in the abovepseudo-code. In the example of FIG. 10I(i), the HOAconfig portion 250Iincludes a CodedVVecLength syntax element 256 set to indicate that allelements of a V vector are coded, e.g., all 16 V vector elements. TheHOAconfig portion 250I also includes a SpatialInterpolationMethod syntaxelement 255 set to indicate that the interpolation function of thespatio-temporal interpolation is a raised cosine. The HOAconfig portion250I moreover includes a CodedSpatialInterpolationTime 254 set toindicate an interpolated sample duration of 256.

The HOAconfig portion 250I further includes a MinAmbHoaOrder syntaxelement 150 set to indicate that the MinimumHOA order of the ambient HOAcontent is one, where the audio decoding device 24 may derive aMinNumofCoeffsForAmbHOA syntax element to be equal to (1+1)² or four.The audio decoding device 24 may also derive a MaxNoofAddActiveAmbCoeffssyntax element as set to a difference between the NumOfHoaCoeff syntaxelement and the MinNumOfCoeffsForAmbHOA, which is assumed in thisexample to equal 16−4 or 12. The audio decoding device 24 may alsoderive a AmbAsignmBits syntax element as set to ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log 2(12))=4. The HOAconfig portion250H includes an HoaOrder syntax element 152 set to indicate the HOAorder of the content to be equal to three (or, in other words, N=3),where the audio decoding device 24 may derive a NumOfHoaCoeffs to beequal to (N+1)² or 16.

As further shown in the example of FIG. 10I(i), the portion 248Hincludes a USAC-3D audio frame in which two HOA frames 249C and 249D arestored in a USAC extension payload given that two audio frames arestored within one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10I(ii) illustrates the frames 249C and 249D in more detail. Asshown in the example of FIG. 10I(ii), the frame 249C includes CSIDfields 154-154C and VVectorData fields 156. The CSID field 154 includesthe CodedAmbCoeffIdx 246, the AmbCoeffIdxTransition 247 (where thedouble asterisk (**) indicates that, for flexible transport channel Nr.1, the decoder's internal state is here assumed to beAmbCoeffIdxTransitionState=2, which results in the CodedAmbCoeffIdxbitfield is signaled or otherwise specified in the bitstream), and theChannelType 269 (which is equal to two, signaling that the correspondingpayload is an additional ambient HOA coefficient). The audio decodingdevice 24 may derive the AmbCoeffIdx as equal to theCodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOA or 5 in this example. TheCSID field 154B includes unitC 267, bb 266 and ba265 along with theChannelType 269, each of which are set to the corresponding values 01,1, 0 and 01 shown in the example of FIG. 10I(ii). The CSID field 154Cincludes the ChannelType field 269 having a value of 3.

In the example of FIG. 10I(ii), the frame 249C includes a singlevector-based signal (given the ChannelType 269 equal to 1 in the CSIDfields 154B) and an empty (given the ChannelType 269 equal to 3 in theCSID fields 154C). Given the forgoing HOAconfig portion 250I, the audiodecoding device 24 may determine that all 16 V vector elements areencoded. Hence, the VVectorData 156 includes all 16 vector elements,each of them uniformly quantized with 8 bits. As noted by the footnote1, the number and indices of coded VVectorData elements are specified bythe parameter CodedVVecLength=0. Moreover, as noted by the footnote 2,the coding scheme is signaled by NbitsQ=5 in the CSID field for thecorresponding transport channel.

In the frame 249D, the CSID field 154 includes an AmbCoeffIdxTransition247 indicating that no transition has occurred and therefore theCodedAmbCoeffIdx 246 may be implied from the previous frame and need notbe signaled or otherwise specified again. The CSID field 154B and 154Cof the frame 249D are the same as that for the frame 249C and thus, likethe frame 249C, the frame 249D includes a single VVectorData field 156,which includes all 16 vector elements, each of them uniformly quantizedwith 8 bits.

FIGS. 10J(i) and 10J(ii) illustrate a first example bitstream 248J andaccompanying HOA config portion 250J having been generated to correspondwith case 1 in the above pseudo-code. In the example of FIG. 10J(i), theHOAconfig portion 250J includes a CodedVVecLength syntax element 256 setto indicate that all elements of a V vector are coded, except for theelements 1 through a MinNumOfCoeffsForAmbHOA syntax elements and thoseelements specified in a ContAddAmbHoaChan syntax element (assumed to bezero in this example). The HOAconfig portion 250J also includes aSpatialInterpolationMethod syntax element 255 set to indicate that theinterpolation function of the spatio-temporal interpolation is a raisedcosine. The HOAconfig portion 250J moreover includes aCodedSpatialInterpolationTime 254 set to indicate an interpolated sampleduration of 256. The HOAconfig portion 250J further includes aMinAmbHoaOrder syntax element 150 set to indicate that the MinimumHOAorder of the ambient HOA content is one, where the audio decoding device24 may derive a MinNumofCoeffsForAmbHOA syntax element to be equal to(1+1)² or four. The HOAconfig portion 250J includes an HoaOrder syntaxelement 152 set to indicate the HOA order of the content to be equal tothree (or, in other words, N=3), where the audio decoding device 24 mayderive a NumOfHoaCoeffs to be equal to (N+1)² or 16.

As further shown in the example of FIG. 10J(i), the portion 248Jincludes a USAC-3D audio frame in which two HOA frames 249E and 249F arestored in a USAC extension payload given that two audio frames arestored within one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10J(ii) illustrates the frames 249E and 249F in more detail. Asshown in the example of FIG. 10J(ii), frame 249E includes CSID fields154-154C and VVectorData fields 156 and 156B. The CSID field 154includes the unitC 267, bb 266 and ba265 along with the ChannelType 269,each of which are set to the corresponding values 01, 1, 0 and 01 shownin the example of FIG. 10J(i). The CSID field 154B includes the unitC267, bb 266 and ba265 along with the ChannelType 269, each of which areset to the corresponding values 01, 1, 0 and 01 shown in the example ofFIG. 10J(ii). The CSID field 154C includes the ChannelType field 269having a value of 3. Each of the CSID fields 154-154C correspond to therespective one of the transport channels 1, 2 and 3.

In the example of FIG. 10J(ii), the frame 249E includes two vector-basedsignals (given the ChannelType 269 equal to 1 in the CSID fields 154 and154B) and an empty (given the ChannelType 269 equal to 3 in the CSIDfields 154C). Given the forgoing HOAconfig portion 250H, the audiodecoding device 24 may determine that all 12 V vector elements areencoded (where 12 is derived as(HOAOrder+1)²−(MinNumOfCoeffsForAmbHOA)−(ContAddAmbHoaChan)=16−4−0=12).Hence, the VVectorData 156 and 156B each includes all 12 vectorelements, each of them uniformly quantized with 8 bits. As noted by thefootnote 1, the number and indices of coded VVectorData elements arespecified by the parameter CodedVVecLength=0. Moreover, as noted by thesingle asterisk (*), the coding scheme is signaled by NbitsQ=5 in theCSID field for the corresponding transport channel.

In the frame 249F, the CSID field 154 and 154B are the same as that inframe 249E, while the CSID field 154C of the frame 249F switched to aChannelType of one. The CSID field 154C of the frame 249B thereforeincludes the Cbflag 267, the Pflag 267 (indicating Huffman encoding) andNbits 261 (equal to twelve). As a result, the frame 249F includes athird VVectorData field 156C that includes 12 V vector elements, each ofthem uniformly quantized with 12 bits and Huffman coded. As noted above,the number and indices of the coded VVectorData elements are specifiedby the parameter CodedVVecLength=0, while the Huffman coding scheme issignaled by the NbitsQ=12, CbFlag=0 and Pflag=0 in the CSID field 154Cfor this particular transport channel (e.g., transport channel no. 3).

The example of FIGS. 10K(i) and 10K(ii) illustrate a second examplebitstream 248K and accompanying HOA config portion 250K having beengenerated to correspond with case 1 in the above pseudo-code. In theexample of FIG. 10K(i), the HOAconfig portions 250K includes aCodedVVecLength syntax element 256 set to indicate that all elements ofa V vector are coded, except for the elements 1 through aMinNumOfCoeffsForAmbHOA syntax elements and those elements specified ina ContAddAmbHoaChan syntax element (assumed to be one in this example).The HOAconfig portion 250K also includes a SpatialInterpolationMethodsyntax element 255 set to indicate that the interpolation function ofthe spatio-temporal interpolation is a raised cosine. The HOAconfigportion 250K moreover includes a CodedSpatialInterpolationTime 254 setto indicate an interpolated sample duration of 256.

The HOAconfig portion 250K further includes a MinAmbHoaOrder syntaxelement 150 set to indicate that the MinimumHOA order of the ambient HOAcontent is one, where the audio decoding device 24 may derive aMinNumofCoeffsForAmbHOA syntax element to be equal to (1+1)² or four.The audio decoding device 24 may also derive a MaxNoOfAddActiveAmbCoeffssyntax element as set to a difference between the NumOfHoaCoeff syntaxelement and the MinNumOfCoeffsForAmbHOA, which is assumed in thisexample to equal 16−4 or 12. The audio decoding device 24 may alsoderive a AmbAsignmBits syntax element as set to ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log 2(12))=4. The HOAconfig portion250K includes an HoaOrder syntax element 152 set to indicate the HOAorder of the content to be equal to three (or, in other words, N=3),where the audio decoding device 24 may derive a NumOfHoaCoeffs to beequal to (N+1)² or 16.

As further shown in the example of FIG. 10K(i), the portion 248Kincludes a USAC-3D audio frame in which two HOA frames 249G and 249H arestored in a USAC extension payload given that two audio frames arestored within one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10K(ii) illustrates the frames 249G and 249H in more detail. Asshown in the example of FIG. 10K(ii), the frame 249G includes CSIDfields 154-154C and VVectorData fields 156. The CSID field 154 includesthe CodedAmbCoeffIdx 246, the AmbCoeffIdxTransition 247 (where thedouble asterisk (**) indicates that, for flexible transport channel Nr.1, the decoder's internal state is here assumed to beAmbCoeffIdxTransitionState=2, which results in the CodedAmbCoeffIdxbitfield is signaled or otherwise specified in the bitstream), and theChannelType 269 (which is equal to two, signaling that the correspondingpayload is an additional ambient HOA coefficient). The audio decodingdevice 24 may derive the AmbCoeffIdx as equal to theCodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOA or 5 in this example. TheCSID field 154B includes unitC 267, bb 266 and ba265 along with theChannelType 269, each of which are set to the corresponding values 01,1, 0 and 01 shown in the example of FIG. 10K(ii). The CSID field 154Cincludes the ChannelType field 269 having a value of 3.

In the example of FIG. 10K(ii), the frame 249G includes a singlevector-based signal (given the ChannelType 269 equal to 1 in the CSIDfields 154B) and an empty (given the ChannelType 269 equal to 3 in theCSID fields 154C). Given the forgoing HOAconfig portion 250K, the audiodecoding device 24 may determine that 11 V vector elements are encoded(where 12 is derived as(HOAOrder+1)²−(MinNumOfCoeffsForAmbHOA)−(ContAddAmbHoaChan)=16−4−1=11).Hence, the VVectorData 156 includes all 11 vector elements, each of themuniformly quantized with 8 bits. As noted by the footnote 1, the numberand indices of coded VVectorData elements are specified by the parameterCodedVVecLength=0. Moreover, as noted by the footnote 2, the codingscheme is signaled by NbitsQ=5 in the CSID field for the correspondingtransport channel.

In the frame 249H, the CSID field 154 includes an AmbCoeffIdxTransition247 indicating that no transition has occurred and therefore theCodedAmbCoeffIdx 246 may be implied from the previous frame and need notbe signaled or otherwise specified again. The CSID field 154B and 154Cof the frame 249H are the same as that for the frame 249G and thus, likethe frame 249G, the frame 249H includes a single VVectorData field 156,which includes 11 vector elements, each of them uniformly quantized with8 bits.

FIGS. 10L(i) and 10L(ii) illustrate a first example bitstream 248L andaccompanying HOA config portion 250L having been generated to correspondwith case 2 in the above pseudo-code. In the example of FIG. 10L(i), theHOAconfig portion 250L includes a CodedVVecLength syntax element 256 setto indicate that all elements of a V vector are coded, except for theelements from the zeroth order up to the order specified byMinAmbHoaOrder syntax element 150 (which is equal to(HoaOrder+1)²−(MinAmbHoaOrder+1)²=16−4=12 in this example). TheHOAconfig portion 250L also includes a SpatialInterpolationMethod syntaxelement 255 set to indicate that the interpolation function of thespatio-temporal interpolation is a raised cosine. The HOAconfig portion250L moreover includes a CodedSpatialInterpolationTime 254 set toindicate an interpolated sample duration of 256. The HOAconfig portion250L further includes a MinAmbHoaOrder syntax element 150 set toindicate that the MinimumHOA order of the ambient HOA content is one,where the audio decoding device 24 may derive a MinNumofCoeffsForAmbHOAsyntax element to be equal to (1+1)² or four. The HOAconfig portion 250Lincludes an HoaOrder syntax element 152 set to indicate the HOA order ofthe content to be equal to three (or, in other words, N=3), where theaudio decoding device 24 may derive a NumOfHoaCoeffs to be equal to(N+1)² or 16.

As further shown in the example of FIG. 10L(i), the portion 248Lincludes a USAC-3D audio frame in which two HOA frames 249I and 249J arestored in a USAC extension payload given that two audio frames arestored within one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10L(ii) illustrates the frames 249I and 249J in more detail. Asshown in the example of FIG. 10L(ii), frame 249I includes CSID fields154-154C and VVectorData fields 156 and 156B. The CSID field 154includes the unitC 267, bb 266 and ba265 along with the ChannelType 269,each of which are set to the corresponding values 01, 1, 0 and 01 shownin the example of FIG. 10J(i). The CSID field 154B includes the unitC267, bb 266 and ba265 along with the ChannelType 269, each of which areset to the corresponding values 01, 1, 0 and 01 shown in the example ofFIG. 10L(ii). The CSID field 154C includes the ChannelType field 269having a value of 3. Each of the CSID fields 154-154C correspond to therespective one of the transport channels 1, 2 and 3.

In the example of FIG. 10L(ii), the frame 249I includes two vector-basedsignals (given the ChannelType 269 equal to 1 in the CSID fields 154 and154B) and an empty (given the ChannelType 269 equal to 3 in the CSIDfields 154C). Given the forgoing HOAconfig portion 250H, the audiodecoding device 24 may determine that 12 V vector elements are encoded.Hence, the VVectorData 156 and 156B each includes 12 vector elements,each of them uniformly quantized with 8 bits. As noted by the footnote1, the number and indices of coded VVectorData elements are specified bythe parameter CodedVVecLength=0. Moreover, as noted by the singleasterisk (*), the coding scheme is signaled by NbitsQ=5 in the CSIDfield for the corresponding transport channel.

In the frame 249J, the CSID field 154 and 154B are the same as that inframe 249I, while the CSID field 154C of the frame 249F switched to aChannelType of one. The CSID field 154C of the frame 249B thereforeincludes the Cbflag 267, the Pflag 267 (indicating Huffman encoding) andNbits 261 (equal to twelve). As a result, the frame 249F includes athird VVectorData field 156C that includes 12 V vector elements, each ofthem uniformly quantized with 12 bits and Huffman coded. As noted above,the number and indices of the coded VVectorData elements are specifiedby the parameter CodedVVecLength=0, while the Huffman coding scheme issignaled by the NbitsQ=12, CbFlag=0 and Pflag=0 in the CSID field 154Cfor this particular transport channel (e.g., transport channel no. 3).

The example of FIGS. 10M(i) and 10M(ii) illustrate a second examplebitstream 248M and accompanying HOA config portion 250M having beengenerated to correspond with case 2 in the above pseudo-code. In theexample of FIG. 10M(i), the HOAconfig portion 250M includes aCodedVVecLength syntax element 256 set to indicate that all elements ofa V vector are coded, except for the elements from the zeroth order upto the order specified by MinAmbHoaOrder syntax element 150 (which isequal to (HoaOrder+1)²−(MinAmbHoaOrder+1)²=16−4=12 in this example). TheHOAconfig portion 250M also includes a SpatialInterpolationMethod syntaxelement 255 set to indicate that the interpolation function of thespatio-temporal interpolation is a raised cosine. The HOAconfig portion250M moreover includes a CodedSpatialInterpolationTime 254 set toindicate an interpolated sample duration of 256.

The HOAconfig portion 250M further includes a MinAmbHoaOrder syntaxelement 150 set to indicate that the MinimumHOA order of the ambient HOAcontent is one, where the audio decoding device 24 may derive aMinNumofCoeffsForAmbHOA syntax element to be equal to (1+1)² or four.The audio decoding device 24 may also derive a MaxNoOfAddActiveAmbCoeffssyntax element as set to a difference between the NumOfHoaCoeff syntaxelement and the MinNumOfCoeffsForAmbHOA, which is assumed in thisexample to equal 16−4 or 12. The audio decoding device 24 may alsoderive a AmbAsignmBits syntax element as set to ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log 2(12))=4. The HOAconfig portion250M includes an HoaOrder syntax element 152 set to indicate the HOAorder of the content to be equal to three (or, in other words, N=3),where the audio decoding device 24 may derive a NumOfHoaCoeffs to beequal to (N+1)² or 16.

As further shown in the example of FIG. 10M(i), the portion 248Mincludes a USAC-3D audio frame in which two HOA frames 249K and 249L arestored in a USAC extension payload given that two audio frames arestored within one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10M(ii) illustrates the frames 249K and 249L in more detail. Asshown in the example of FIG. 10M(ii), the frame 249K includes CSIDfields 154-154C and a VVectorData field 156. The CSID field 154 includesthe CodedAmbCoeffIdx 246, the AmbCoeffIdxTransition 247 (where thedouble asterisk (**) indicates that, for flexible transport channel Nr.1, the decoder's internal state is here assumed to beAmbCoeffIdxTransitionState=2, which results in the CodedAmbCoeffIdxbitfield is signaled or otherwise specified in the bitstream), and theChannelType 269 (which is equal to two, signaling that the correspondingpayload is an additional ambient HOA coefficient). The audio decodingdevice 24 may derive the AmbCoeffIdx as equal to theCodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOA or 5 in this example. TheCSID field 154B includes unitC 267, bb 266 and ba265 along with theChannelType 269, each of which are set to the corresponding values 01,1, 0 and 01 shown in the example of FIG. 10M(ii). The CSID field 154Cincludes the ChannelType field 269 having a value of 3.

In the example of FIG. 10M(ii), the frame 249K includes a singlevector-based signal (given the ChannelType 269 equal to 1 in the CSIDfields 154B) and an empty (given the ChannelType 269 equal to 3 in theCSID fields 154C). Given the forgoing HOAconfig portion 250M, the audiodecoding device 24 may determine that 12 V vector elements are encoded.Hence, the VVectorData 156 includes 12 vector elements, each of themuniformly quantized with 8 bits. As noted by the footnote 1, the numberand indices of coded VVectorData elements are specified by the parameterCodedVVecLength=0. Moreover, as noted by the footnote 2, the codingscheme is signaled by NbitsQ=5 in the CSID field for the correspondingtransport channel.

In the frame 249L, the CSID field 154 includes an AmbCoeffIdxTransition247 indicating that no transition has occurred and therefore theCodedAmbCoeffIdx 246 may be implied from the previous frame and need notbe signaled or otherwise specified again. The CSID field 154B and 154Cof the frame 249L are the same as that for the frame 249K and thus, likethe frame 249K, the frame 249L includes a single VVectorData field 156,which includes 12 vector elements, each of them uniformly quantized with8 bits.

FIGS. 10N(i) and 10N(ii) illustrate a first example bitstream 248N andaccompanying HOA config portion 250N having been generated to correspondwith case 3 in the above pseudo-code. In the example of FIG. 10N(i), theHOAconfig portion 250N includes a CodedVVecLength syntax element 256 setto indicate that all elements of a V vector are coded, except for thoseelements specified in a ContAddAmbHoaChan syntax element (which isassumed to be zero in this example). The HOAconfig portion 250N alsoincludes a SpatialInterpolationMethod syntax element 255 set to indicatethat the interpolation function of the spatio-temporal interpolation isa raised cosine. The HOAconfig portion 250N moreover includes aCodedSpatialInterpolationTime 254 set to indicate an interpolated sampleduration of 256. The HOAconfig portion 250N further includes aMinAmbHoaOrder syntax element 150 set to indicate that the MinimumHOAorder of the ambient HOA content is one, where the audio decoding device24 may derive a MinNumofCoeffsForAmbHOA syntax element to be equal to(1+1)² or four. The HOAconfig portion 250N includes an HoaOrder syntaxelement 152 set to indicate the HOA order of the content to be equal tothree (or, in other words, N=3), where the audio decoding device 24 mayderive a NumOfHoaCoeffs to be equal to (N+1)² or 16.

As further shown in the example of FIG. 10N(i), the portion 248Nincludes a USAC-3D audio frame in which two HOA frames 249M and 249N arestored in a USAC extension payload given that two audio frames arestored within one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10N(ii) illustrates the frames 249M and 249N in more detail. Asshown in the example of FIG. 10N(ii), frame 249M includes CSID fields154-154C and VVectorData fields 156 and 156B. The CSID field 154includes the unitC 267, bb 266 and ba265 along with the ChannelType 269,each of which are set to the corresponding values 01, 1, 0 and 01 shownin the example of FIG. 10J(i). The CSID field 154B includes the unitC267, bb 266 and ba265 along with the ChannelType 269, each of which areset to the corresponding values 01, 1, 0 and 01 shown in the example ofFIG. 10N(ii). The CSID field 154C includes the ChannelType field 269having a value of 3. Each of the CSID fields 154-154C correspond to therespective one of the transport channels 1, 2 and 3.

In the example of FIG. 10N(ii), the frame 249M includes two vector-basedsignals (given the ChannelType 269 equal to 1 in the CSID fields 154 and154B) and an empty (given the ChannelType 269 equal to 3 in the CSIDfields 154C). Given the forgoing HOAconfig portion 250M, the audiodecoding device 24 may determine that 16 V vector elements are encoded.Hence, the VVectorData 156 and 156B each includes 16 vector elements,each of them uniformly quantized with 8 bits. As noted by the footnote1, the number and indices of coded VVectorData elements are specified bythe parameter CodedVVecLength=0. Moreover, as noted by the singleasterisk (*), the coding scheme is signaled by NbitsQ=5 in the CSIDfield for the corresponding transport channel.

In the frame 249N, the CSID field 154 and 154B are the same as that inframe 249M, while the CSID field 154C of the frame 249F switched to aChannelType of one. The CSID field 154C of the frame 249B thereforeincludes the Cbflag 267, the Pflag 267 (indicating Huffman encoding) andNbits 261 (equal to twelve). As a result, the frame 249F includes athird VVectorData field 156C that includes 16 V vector elements, each ofthem uniformly quantized with 12 bits and Huffman coded. As noted above,the number and indices of the coded VVectorData elements are specifiedby the parameter CodedVVecLength=0, while the Huffman coding scheme issignaled by the NbitsQ=12, CbFlag=0 and Pflag=0 in the CSID field 154Cfor this particular transport channel (e.g., transport channel no. 3).

The example of FIGS. 10O(i) and 10O(ii) illustrate a second examplebitstream 248O and accompanying HOA config portion 250O having beengenerated to correspond with case 3 in the above pseudo-code. In theexample of FIG. 10O(i), the HOAconfig portion 250O includes aCodedVVecLength syntax element 256 set to indicate that all elements ofa V vector are coded, except for those elements specified in aContAddAmbHoaChan syntax element (which is assumed to be one in thisexample). The HOAconfig portion 250O also includes aSpatialInterpolationMethod syntax element 255 set to indicate that theinterpolation function of the spatio-temporal interpolation is a raisedcosine. The HOAconfig portion 250O moreover includes aCodedSpatialInterpolationTime 254 set to indicate an interpolated sampleduration of 256.

The HOAconfig portion 250O further includes a MinAmbHoaOrder syntaxelement 150 set to indicate that the MinimumHOA order of the ambient HOAcontent is one, where the audio decoding device 24 may derive aMinNumofCoeffsForAmbHOA syntax element to be equal to (1+1)² or four.The audio decoding device 24 may also derive a MaxNoOfAddActiveAmbCoeffssyntax element as set to a difference between the NumOfHoaCoeff syntaxelement and the MinNumOfCoeffsForAmbHOA, which is assumed in thisexample to equal 16−4 or 12. The audio decoding device 24 may alsoderive a AmbAsignmBits syntax element as set to ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log 2(12))=4. The HOAconfig portion250O includes an HoaOrder syntax element 152 set to indicate the HOAorder of the content to be equal to three (or, in other words, N=3),where the audio decoding device 24 may derive a NumOfHoaCoeffs to beequal to (N+1)² or 16.

As further shown in the example of FIG. 10O(i), the portion 248Oincludes a USAC-3D audio frame in which two HOA frames 249O and 249P arestored in a USAC extension payload given that two audio frames arestored within one USAC-3D frame when spectral band replication (SBR) isenabled. The audio decoding device 24 may derive a number of flexibletransport channels as a function of a numHOATransportChannels syntaxelement and a MinNumOfCoeffsForAmbHOA syntax element. In the followingexamples, it is assumed that the numHOATransportChannels syntax elementis equal to 7 and the MinNumOfCoeffsForAmbHOA syntax element is equal tofour, where number of flexible transport channels is equal to thenumHOATransportChannels syntax element minus the MinNumOfCoeffsForAmbHOAsyntax element (or three).

FIG. 10O(ii) illustrates the frames 249O and 249P in more detail. Asshown in the example of FIG. 10O(ii), the frame 249O includes CSIDfields 154-154C and a VVectorData field 156. The CSID field 154 includesthe CodedAmbCoeffIdx 246, the AmbCoeffIdxTransition 247 (where thedouble asterisk (**) indicates that, for flexible transport channel Nr.1, the decoder's internal state is here assumed to beAmbCoeffIdxTransitionState=2, which results in the CodedAmbCoeffIdxbitfield is signaled or otherwise specified in the bitstream), and theChannelType 269 (which is equal to two, signaling that the correspondingpayload is an additional ambient HOA coefficient). The audio decodingdevice 24 may derive the AmbCoeffIdx as equal to theCodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOA or 5 in this example. TheCSID field 154B includes unitC 267, bb 266 and ba265 along with theChannelType 269, each of which are set to the corresponding values 01,1, 0 and 01 shown in the example of FIG. 10O(ii). The CSID field 154Cincludes the ChannelType field 269 having a value of 3.

In the example of FIG. 10O(ii), the frame 249O includes a singlevector-based signal (given the ChannelType 269 equal to 1 in the CSIDfields 154B) and an empty (given the ChannelType 269 equal to 3 in theCSID fields 154C). Given the forgoing HOAconfig portion 250O, the audiodecoding device 24 may determine that 16 minus the one specified by theContAddAmbHoaChan syntax element (e.g., where the vector elementassociated with an index of 6 is specified as the ContAddAmbHoaChansyntax element) or 15 V vector elements are encoded. Hence, theVVectorData 156 includes 15 vector elements, each of them uniformlyquantized with 8 bits. As noted by the footnote 1, the number andindices of coded VVectorData elements are specified by the parameterCodedVVecLength=0. Moreover, as noted by the footnote 2, the codingscheme is signaled by NbitsQ=5 in the CSID field for the correspondingtransport channel.

In the frame 249P, the CSID field 154 includes an AmbCoeffIdxTransition247 indicating that no transition has occurred and therefore theCodedAmbCoeffIdx 246 may be implied from the previous frame and need notbe signaled or otherwise specified again. The CSID field 154B and 154Cof the frame 249P are the same as that for the frame 249O and thus, likethe frame 249O, the frame 249P includes a single VVectorData field 156,which includes 15 vector elements, each of them uniformly quantized with8 bits.

FIGS. 11A-11G are block diagrams illustrating, in more detail, variousunits of the audio decoding device 24 shown in the example of FIG. 5.FIG. 11A is a block diagram illustrating, in more detail, the extractionunit 72 of the audio decoding device 24. As shown in the example of FIG.11A, the extraction unit 72 may include a mode parsing unit 270, a modeconfiguration unit 272 (“mode config unit 272”), and a configurableextraction unit 274.

The mode parsing unit 270 may represent a unit configured to parse theabove noted syntax element indicative of a coding mode (e.g., theChannelType syntax element shown in the example of FIG. 10E) used toencode the HOA coefficients 11 so as to form bitstream 21. The modeparsing unit 270 may pass the determine syntax element to the modeconfiguration unit 272. The mode configuration unit 272 may represent aunit configured to configure the configurable extraction unit 274 basedon the parsed syntax element. The mode configuration unit 272 mayconfigure the configurable extraction unit 274 to extract adirection-based coded representation of the HOA coefficients 11 from thebitstream 21 or extract a vector-based coded representation of the HOAcoefficients 11 from the bitstream 21 based on the parsed syntaxelement.

When a directional-based encoding was performed, the configurableextraction unit 274 may extract the directional-based version of the HOAcoefficients 11 and the syntax elements associated with this encodedversion (which is denoted as direction-based information 91 in theexample of FIG. 11A). This direction-based information 91 may includethe directional info 253 shown in the example of FIG. 10D anddirection-based SideChannelInfoData shown in the example of FIG. 10E asdefined by a ChannelType equal to zero.

When the syntax element indicates that the HOA coefficients 11 wereencoded using a vector-based synthesis (e.g., when the ChannelTypesyntax element is equal to one), the configurable extraction unit 274may extract the coded foreground V[k] vectors 57, the encoded ambientHOA coefficients 59 and the encoded nFG signals 59. The configurableextraction unit 274 may also, upon determining that the syntax elementindicates that the HOA coefficients 11 were encoded using a vector-basedsynthesis, extract the CodedSpatialInterpolationTime syntax element 254and the SpatialInterpolationMethod syntax element 255 from the bitstream21, passing these syntax elements 254 and 255 to the spatio-temporalinterpolation unit 76.

FIG. 11B is a block diagram illustrating, in more detail, thequantization unit 74 of the audio decoding device 24 shown in theexample of FIG. 5. The quantization unit 74 may represent a unitconfigured to operate in a manner reciprocal to the quantization unit 52shown in the example of FIG. 4 so as to entropy decode and dequantizethe coded foreground V[k] vectors 57 and thereby generate reducedforeground V[k] vectors 55 _(k). The scalar/entropy dequantization unit984 may include a category/residual decoding unit 276, a prediction unit278 and a uniform dequantization unit 280.

The category/residual decoding unit 276 may represent a unit configuredto perform Huffman decoding with respect to the coded foreground V[k]vectors 57 using the Huffman table identified by the Huffman tableinformation 241 (which is, as noted above, expressed as a syntax elementin the bitstream 21). The category/residual decoding unit 276 may outputquantized foreground V[k] vectors to the prediction unit 278. Theprediction unit 278 may represent a unit configured to performprediction with respect to the quantized foreground V[k] vectors basedon the prediction mode 237, outputting augmented quantized foregroundV[k] vectors to the uniform dequantization unit 280. The uniformdequantization unit 280 may represent a unit configured to performdequantization with respect to the augmented quantized foreground V[k]vectors based on the nbits value 233, outputting the reduced foregroundV[k] vectors 55 _(k)

FIG. 11C is a block diagram illustrating, in more detail, thepsychoacoustic decoding unit 80 of the audio decoding device 24 shown inthe example of FIG. 5. As noted above, the psychoacoustic decoding unit80 may operate in a manner reciprocal to the psychoacoustic audio codingunit 40 shown in the example of FIG. 4 so as to decode the encodedambient HOA coefficients 59 and the encoded nFG signals 61 and therebygenerate energy compensated ambient HOA coefficients 47′ and theinterpolated nFG signals 49′ (which may also be referred to asinterpolated nFG audio objects 49′). The psychoacoustic decoding unit 80may pass the energy compensated ambient HOA coefficients 47′ to HOAcoefficient formulation unit 82 and the nFG signals 49′ to the reorder84. The psychoacoustic decoding unit 80 may include a plurality of audiodecoders 80-80N similar to the psychoacoustic audio coding unit 40. Theaudio decoders 80-80N may be instantiated by or otherwise includedwithin the psychoacoustic audio coding unit 40 in sufficient quantity tosupport, as noted above, concurrent decoding of each channel of thebackground HOA coefficients 47′ and each signal of the nFG signals 49′.

FIG. 11D is a block diagram illustrating, in more detail, the reorderunit 84 of the audio decoding device 24 shown in the example of FIG. 5.The reorder unit 84 may represent a unit configured to operate in amanner similar reciprocal to that described above with respect to thereorder unit 34. The reorder unit 84 may include a vector reorder unit282, which may represent a unit configured to receive syntax elements205 indicative of the original order of the foreground components of theHOA coefficients 11. The extraction unit 72 may parse these syntaxelements 205 from the bitstream 21 and pass the syntax element 205 tothe reorder unit 84. The vector reorder unit 282 may, based on thesereorder syntax elements 205, reorder the interpolated nFG signals 49′and the reduced foreground V[k] vectors 55 _(k) to generate reorderednFG signals 49″ and reordered foreground V[k] vectors 55 _(k)′. Thereorder unit 84 may output the reordered nFG signals 49″ to theforeground formulation unit 78 and the reordered foreground V[k] vectors55 _(k)′ to the spatio-temporal interpolation unit 76.

FIG. 11E is a block diagram illustrating, in more detail, thespatio-temporal interpolation unit 76 of the audio decoding device 24shown in the example of FIG. 5. The spatio-temporal interpolation unit76 may operate in a manner similar to that described above with respectto the spatio-temporal interpolation unit 50. The spatio-temporalinterpolation unit 76 may include a V interpolation unit 284, which mayrepresent a unit configured to receive the reordered foreground V[k]vectors 55 _(k)′ and perform the spatio-temporal interpolation withrespect to the reordered foreground V[k] vectors 55 _(k)′ and reorderedforeground V[k−1] vectors 55 _(k-1)′ to generate interpolated foregroundV[k] vectors 55 _(k)″. The V interpolation unit 284 may performinterpolation based on the CodedSpatialInterpolationTime syntax element254 and the SpatialInterpolationMethod syntax element 255. In someexamples, the V interpolation unit 285 may interpolate the V vectorsover the duration specified by the CodedSpatialInterpolationTime syntaxelement 254 using the type of interpolation identified by theSpatialInterpolationMethod syntax element 255. The spatio-temporalinterpolation unit 76 may forward the interpolated foreground V[k]vectors 55 _(k)″ to the foreground formulation unit 78.

FIG. 11F is a block diagram illustrating, in more detail, the foregroundformulation unit 78 of the audio decoding device 24 shown in the exampleof FIG. 5. The foreground formulation unit 78 may include amultiplication unit 286, which may represent a unit configured toperform matrix multiplication with respect to the interpolatedforeground V[k] vectors 55 _(k)″ and the reordered nFG signals 49″ togenerate the foreground HOA coefficients 65.

FIG. 11G is a block diagram illustrating, in more detail, the HOAcoefficient formulation unit 82 of the audio decoding device 24 shown inthe example of FIG. 5. The HOA coefficient formulation unit 82 mayinclude an addition unit 288, which may represent a unit configured toadd the foreground HOA coefficients 65 to the ambient HOA channels 47′so as to obtain the HOA coefficients 11′.

FIG. 12 is a diagram illustrating an example audio ecosystem that mayperform various aspects of the techniques described in this disclosure.As illustrated in FIG. 12, audio ecosystem 300 may include acquisition301, editing 302, coding, 303, transmission 304, and playback 305.

Acquisition 301 may represent the techniques of audio ecosystem 300where audio content is acquired. Examples of acquisition 301 include,but are not limited to recording sound (e.g., live sound), audiogeneration (e.g., audio objects, foley production, sound synthesis,simulations), and the like. In some examples, sound may be recorded atconcerts, sporting events, and when conducting surveillance. In someexamples, audio may be generated when performing simulations, andauthored/mixing (e.g., moves, games). Audio objects may be as used inHollywood (e.g., IMAX studios). In some examples, acquisition 301 may beperformed by a content creator, such as content creator 12 of FIG. 3.

Editing 302 may represent the techniques of audio ecosystem 300 wherethe audio content is edited and/or modified. As one example, the audiocontent may be edited by combining multiple units of audio content intoa single unit of audio content. As another example, the audio contentmay be edited by adjusting the actual audio content (e.g., adjusting thelevels of one or more frequency components of the audio content). Insome examples, editing 302 may be performed by an audio editing system,such as audio editing system 18 of FIG. 3. In some examples, editing 302may be performed on a mobile device, such as one or more of the mobiledevices illustrated in FIG. 29.

Coding, 303 may represent the techniques of audio ecosystem 300 wherethe audio content is coded in to a representation of the audio content.In some examples, the representation of the audio content may be abitstream, such as bitstream 21 of FIG. 3. In some examples, coding 302may be performed by an audio encoding device, such as audio encodingdevice 20 of FIG. 3.

Transmission 304 may represent the elements of audio ecosystem 300 wherethe audio content is transported from a content creator to a contentconsumer. In some examples, the audio content may be transported inreal-time or near real-time. For instance, the audio content may bestreamed to the content consumer. In some examples, the audio contentmay be transported by coding the audio content onto a media, such as acomputer-readable storage medium. For instance, the audio content may bestored on a disc, drive, and the like (e.g., a blu-ray disk, a memorycard, a hard drive, etc.)

Playback 305 may represent the techniques of audio ecosystem 300 wherethe audio content is rendered and played back to the content consumer.In some examples, playback 305 may include rendering a 3D soundfieldbased on one or more aspects of a playback environment. In other words,playback 305 may be based on a local acoustic landscape.

FIG. 13 is a diagram illustrating one example of the audio ecosystem ofFIG. 12 in more detail. As illustrated in FIG. 13, audio ecosystem 300may include audio content 308, movie studios 310, music studios 311,gaming audio studios 312, channel based audio content 313, codingengines 314, game audio stems 315, game audio coding/rendering engines316, and delivery systems 317. An example gaming audio studio 312 isillustrated in FIG. 26. Some example game audio coding/rendering engines316 are illustrated in FIG. 27.

As illustrated by FIG. 13, movie studios 310, music studios 311, andgaming audio studios 312 may receive audio content 308. In some example,audio content 308 may represent the output of acquisition 301 of FIG.12. Movie studios 310 may output channel based audio content 313 (e.g.,in 2.0, 5.1, and 7.1) such as by using a digital audio workstation(DAW). Music studios 310 may output channel based audio content 313(e.g., in 2.0, and 5.1) such as by using a DAW. In either case, codingengines 314 may receive and encode the channel based audio content 313based one or more codecs (e.g., AAC, AC3, Dolby True HD, Dolby DigitalPlus, and DTS Master Audio) for output by delivery systems 317. In thisway, coding engines 314 may be an example of coding 303 of FIG. 12.Gaming audio studios 312 may output one or more game audio stems 315,such as by using a DAW. Game audio coding/rendering engines 316 may codeand or render the audio stems 315 into channel based audio content foroutput by delivery systems 317. In some examples, the output of moviestudios 310, music studios 311, and gaming audio studios 312 mayrepresent the output of editing 302 of FIG. 12. In some examples, theoutput of coding engines 314 and/or game audio coding/rendering engines316 may be transported to delivery systems 317 via the techniques oftransmission 304 of FIG. 12.

FIG. 14 is a diagram illustrating another example of the audio ecosystemof FIG. 12 in more detail. As illustrated in FIG. 14, audio ecosystem300B may include broadcast recording audio objects 319, professionalaudio systems 320, consumer on-device capture 322, HOA audio format 323,on-device rendering 324, consumer audio, TV, and accessories 325, andcar audio systems 326.

As illustrated in FIG. 14, broadcast recording audio objects 319,professional audio systems 320, and consumer on-device capture 322 mayall code their output using HOA audio format 323. In this way, the audiocontent may be coded using HOA audio format 323 into a singlerepresentation that may be played back using on-device rendering 324,consumer audio, TV, and accessories 325, and car audio systems 326. Inother words, the single representation of the audio content may beplayed back at a generic audio playback system (i.e., as opposed torequiring a particular configuration such as 5.1, 7.1, etc.).

FIGS. 15A and 15B are diagrams illustrating other examples of the audioecosystem of FIG. 12 in more detail. As illustrated in FIG. 15A, audioecosystem 300C may include acquisition elements 331, and playbackelements 336. Acquisition elements 331 may include wired and/or wirelessacquisition devices 332 (e.g., Eigen microphones), on-device surroundsound capture 334, and mobile devices 335 (e.g., smartphones andtablets). In some examples, wired and/or wireless acquisition devices332 may be coupled to mobile device 335 via wired and/or wirelesscommunication channel(s) 333.

In accordance with one or more techniques of this disclosure, mobiledevice 335 may be used to acquire a soundfield. For instance, mobiledevice 335 may acquire a soundfield via wired and/or wirelessacquisition devices 332 and/or on-device surround sound capture 334(e.g., a plurality of microphones integrated into mobile device 335).Mobile device 335 may then code the acquired soundfield into HOAs 337for playback by one or more of playback elements 336. For instance, auser of mobile device 335 may record (acquire a soundfield of) a liveevent (e.g., a meeting, a conference, a play, a concert, etc.), and codethe recording into HOAs.

Mobile device 335 may also utilize one or more of playback elements 336to playback the HOA coded soundfield. For instance, mobile device 335may decode the HOA coded soundfield and output a signal to one or moreof playback elements 336 that causes the one or more of playbackelements 336 to recreate the soundfield. As one example, mobile device335 may utilize wireless and/or wireless communication channels 338 tooutput the signal to one or more speakers (e.g., speaker arrays, soundbars, etc.). As another example, mobile device 335 may utilize dockingsolutions 339 to output the signal to one or more docking stationsand/or one or more docked speakers (e.g., sound systems in smart carsand/or homes). As another example, mobile device 335 may utilizeheadphone rendering 340 to output the signal to a set of headphones,e.g., to create realistic binaural sound.

In some examples, a particular mobile device 335 may both acquire a 3Dsoundfield and playback the same 3D soundfield at a later time. In someexamples, mobile device 335 may acquire a 3D soundfield, encode the 3Dsoundfield into HOA, and transmit the encoded 3D soundfield to one ormore other devices (e.g., other mobile devices and/or other non-mobiledevices) for playback.

As illustrated in FIG. 15B, audio ecosystem 300D may include audiocontent 343, game studios 344, coded audio content 345, renderingengines 346, and delivery systems 347. In some examples, game studios344 may include one or more DAWs which may support editing of HOAsignals. For instance, the one or more DAWs may include HOA pluginsand/or tools which may be configured to operate with (e.g., work with)one or more game audio systems. In some examples, game studios 344 mayoutput new stem formats that support HOA. In any case, game studios 344may output coded audio content 345 to rendering engines 346 which mayrender a soundfield for playback by delivery systems 347.

FIG. 16 is a diagram illustrating an example audio encoding device thatmay perform various aspects of the techniques described in thisdisclosure. As illustrated in FIG. 16, audio ecosystem 300E may includeoriginal 3D audio content 351, encoder 352, bitstream 353, decoder 354,renderer 355, and playback elements 356. As further illustrated by FIG.16., encoder 352 may include soundfield analysis and decomposition 357,background extraction 358, background saliency determination 359, audiocoding 360, foreground/distinct audio extraction 361, and audio coding362. In some examples, encoder 352 may be configured to performoperations similar to audio encoding device 20 of FIGS. 3 and 4. In someexamples, soundfield analysis and decomposition 357 may be configured toperform operations similar to soundfield analysis unit 44 of FIG. 4. Insome examples, background extraction 358 and background saliencydetermination 359 may be configured to perform operations similar to BGselection unit 48 of FIG. 4. In some examples, audio coding 360 andaudio coding 362 may be configured to perform operations similar topsychoacoustic audio coder unit 40 of FIG. 4. In some examples,foreground/distinct audio extraction 361 may be configured to performoperations similar to foreground selection unit 36 of FIG. 4.

In some examples, foreground/distinct audio extraction 361 may analyzeaudio content corresponding to video frame 390 of FIG. 33. For instance,foreground/distinct audio extraction 361 may determine that audiocontent corresponding to regions 391A-391C is foreground audio.

As illustrated in FIG. 16, encoder 352 may be configured to encodeoriginal content 351, which may have a bitrate of 25-75 Mbps, intobitstream 353, which may have a bitrate of 256 kbps-1.2 Mbps. FIG. 17 isa diagram illustrating one example of the audio encoding device of FIG.16 in more detail.

FIG. 18 is a diagram illustrating an example audio decoding device thatmay perform various aspects of the techniques described in thisdisclosure. As illustrated in FIG. 18, audio ecosystem 300E may includeoriginal 3D audio content 351, encoder 352, bitstream 353, decoder 354,renderer 355, and playback elements 356. As further illustrated by FIG.16, decoder 354 may include audio decoder 363, audio decoder 364,foreground reconstruction 365, and mixing 366. In some examples, decoder354 may be configured to perform operations similar to audio decodingdevice 24 of FIGS. 3 and 5. In some examples, audio decoder 363, audiodecoder 364 may be configured to perform operations similar topsychoacoustic decoding unit 80 of FIG. 5. In some examples, foregroundreconstruction 365 may be configured to perform operations similar toforeground formulation unit 78 of FIG. 5.

As illustrated in FIG. 16, decoder 354 may be configured to receive anddecode bitstream 353 and output the resulting reconstructed 3Dsoundfield to renderer 355 which may then cause one or more of playbackelements 356 to output a representation of original 3D content 351. FIG.19 is a diagram illustrating one example of the audio decoding device ofFIG. 18 in more detail.

FIGS. 20A-20G are diagrams illustrating example audio acquisitiondevices that may perform various aspects of the techniques described inthis disclosure. FIG. 20A illustrates Eigen microphone 370 which mayinclude a plurality of microphones that are collectively configured torecord a 3D soundfield. In some examples, the plurality of microphonesof Eigen microphone 370 may be located on the surface of a substantiallyspherical ball with a radius of approximately 4 cm. In some examples,the audio encoding device 20 may be integrated into the Eigen microphoneso as to output a bitstream 17 directly from the microphone 370.

FIG. 20B illustrates production truck 372 which may be configured toreceive a signal from one or more microphones, such as one or more Eigenmicrophones 370. Production truck 372 may also include an audio encoder,such as audio encoder 20 of FIG. 3.

FIGS. 20C-20E illustrate mobile device 374 which may include a pluralityof microphones that are collectively configured to record a 3Dsoundfield. In other words, the plurality of microphone may have X, Y, Zdiversity. In some examples, mobile device 374 may include microphone376 which may be rotated to provide X, Y, Z diversity with respect toone or more other microphones of mobile device 374. Mobile device 374may also include an audio encoder, such as audio encoder 20 of FIG. 3.

FIG. 20F illustrates a ruggedized video capture device 378 which may beconfigured to record a 3D soundfield. In some examples, ruggedized videocapture device 378 may be attached to a helmet of a user engaged in anactivity. For instance, ruggedized video capture device 378 may beattached to a helmet of a user whitewater rafting. In this way,ruggedized video capture device 378 may capture a 3D soundfield thatrepresents the action all around the user (e.g., water crashing behindthe user, another rafter speaking in-front of the user, etc. . . . ).

FIG. 20G illustrates accessory enhanced mobile device 380 which may beconfigured to record a 3D soundfield. In some examples, mobile device380 may be similar to mobile device 335 of FIG. 15, with the addition ofone or more accessories. For instance, an Eigen microphone may beattached to mobile device 335 of FIG. 15 to form accessory enhancedmobile device 380. In this way, accessory enhanced mobile device 380 maycapture a higher quality version of the 3D soundfield than just usingsound capture components integral to accessory enhanced mobile device380.

FIGS. 21A-21E are diagrams illustrating example audio playback devicesthat may perform various aspects of the techniques described in thisdisclosure. FIGS. 21A and 21B illustrates a plurality of speakers 382and sound bars 384. In accordance with one or more techniques of thisdisclosure, speakers 382 and/or sound bars 384 may be arranged in anyarbitrary configuration while still playing back a 3D soundfield. FIGS.21C-21E illustrate a plurality of headphone playback devices 386-386C.Headphone playback devices 386-386C may be coupled to a decoder viaeither a wired or a wireless connection. In accordance with one or moretechniques of this disclosure, a single generic representation of asoundfield may be utilized to render the soundfield on any combinationof speakers 382, sound bars 384, and headphone playback devices386-386C.

FIGS. 22A-22H are diagrams illustrating example audio playbackenvironments in accordance with one or more techniques described in thisdisclosure. For instance, FIG. 22A illustrates a 5.1 speaker playbackenvironment, FIG. 22B illustrates a 2.0 (e.g., stereo) speaker playbackenvironment, FIG. 22C illustrates a 9.1 speaker playback environmentwith full height front loudspeakers, FIGS. 22D and 22E each illustrate a22.2 speaker playback environment FIG. 22F illustrates a 16.0 speakerplayback environment, FIG. 22G illustrates an automotive speakerplayback environment, and FIG. 22H illustrates a mobile device with earbud playback environment.

In accordance with one or more techniques of this disclosure, a singlegeneric representation of a soundfield may be utilized to render thesoundfield on any of the playback environments illustrated in FIGS.22A-22H. Additionally, the techniques of this disclosure enable arendered to render a soundfield from a generic representation forplayback on playback environments other than those illustrated in FIGS.22A-22H. For instance, if design considerations prohibit properplacement of speakers according to a 7.1 speaker playback environment(e.g., if it is not possible to place a right surround speaker), thetechniques of this disclosure enable a render to compensate with theother 6 speakers such that playback may be achieved on a 6.1 speakerplayback environment.

As illustrated in FIG. 23, a user may watch a sports game while wearingheadphones 386. In accordance with one or more techniques of thisdisclosure, the 3D soundfield of the sports game may be acquired (e.g.,one or more Eigen microphones may be placed in and/or around thebaseball stadium illustrated in FIG. 24), HOA coefficients correspondingto the 3D soundfield may be obtained and transmitted to a decoder, thedecoder may determine reconstruct the 3D soundfield based on the HOAcoefficients and output the reconstructed the 3D soundfield to arenderer, the renderer may obtain an indication as to the type ofplayback environment (e.g., headphones), and render the reconstructedthe 3D soundfield into signals that cause the headphones to output arepresentation of the 3D soundfield of the sports game. In someexamples, the renderer may obtain an indication as to the type ofplayback environment in accordance with the techniques of FIG. 25. Inthis way, the renderer may to “adapt” for various speaker locations,numbers type, size, and also ideally equalize for the local environment.

FIG. 28 is a diagram illustrating a speaker configuration that may besimulated by headphones in accordance with one or more techniquesdescribed in this disclosure. As illustrated by FIG. 28, techniques ofthis disclosure may enable a user wearing headphones 389 to experience asoundfield as if the soundfield was played back by speakers 388. In thisway, a user may listen to a 3D soundfield without sound being output toa large area.

FIG. 30 is a diagram illustrating a video frame associated with a 3Dsoundfield which may be processed in accordance with one or moretechniques described in this disclosure.

FIGS. 31A-31M are diagrams illustrating graphs 400A-400M showing varioussimulation results of performing synthetic or recorded categorization ofthe soundfield in accordance with various aspects of the techniquesdescribed in this disclosure. In the examples of FIG. 31A-31M, each ofgraphs 400A-400M include a threshold 402 that is denoted by a dottedline and a respective audio object 404A-404M (collectively, “the audioobjects 404”) denoted by a dashed line.

When the audio objects 404 through the analysis described above withrespect to the content analysis unit 26 are determined to be under thethreshold 402, the content analysis unit 26 determines that thecorresponding one of the audio objects 404 represents an audio objectthat has been recorded. As shown in the examples of FIGS. 31B, 31D-31Hand 31J-31L, the content analysis unit 26 determines that audio objects404B, 404D-404H, 404J-404L are below the threshold 402 (at least +90% ofthe time and often 100% of the time) and therefore represent recordedaudio objects. As shown in the examples of FIGS. 31A, 31C and 31I, thecontent analysis unit 26 determines that the audio objects 404A, 404Cand 404I exceed the threshold 402 and therefore represent syntheticaudio objects.

In the example of FIG. 31M, the audio object 404M represents a mixedsynthetic/recorded audio object, having some synthetic portions (e.g.,above the threshold 402) and some synthetic portions (e.g., below thethreshold 402). The content analysis unit 26 in this instance identifiesthe synthetic and recorded portions of the audio object 404M with theresult that the audio encoding device 20 generates the bitstream 21 toinclude both a directionality-based encoded audio data and avector-based encoded audio data.

FIG. 32 is a diagram illustrating a graph 406 of singular values from anS matrix decomposed from higher order ambisonic coefficients inaccordance with the techniques described in this disclosure. As shown inFIG. 32, the non-zero singular values having large values are few. Thesoundfield analysis unit 44 of FIG. 4 may analyze these singular valuesto determine the nFG foreground (or, in other words, predominant)components (often, represented by vectors) of the reordered US[k]vectors 33′ and the reordered V[k] vectors 35′.

FIGS. 33A and 33B are diagrams illustrating respective graphs 410A and410B showing a potential impact reordering has when encoding the vectorsdescribing foreground components of the soundfield in accordance withthe techniques described in this disclosure. Graph 410A shows the resultof encoding at least some of the unordered (or, in other words, theoriginal) US[k] vectors 33, while graph 410B shows the result ofencoding the corresponding ones of the ordered US[k] vectors 33′. Thetop plot in each of graphs 410A and 410B show the error in encoding,where there is likely only noticeable error in the graph 410B at frameboundaries. Accordingly, the reordering techniques described in thisdisclosure may facilitate or otherwise promote coding of mono-audioobjects using a legacy audio coder.

FIGS. 34 and 35 are conceptual diagrams illustrating differences betweensolely energy-based and directionality-based identification of distinctaudio objects, in accordance with this disclosure. In the example ofFIG. 34, vectors that exhibit greater energy are identified as beingdistinct audio objects, regardless of the directionality. As shown inFIG. 34, audio objects that are positioned according to higher energyvalues (plotted on a y-axis) are determined to be “in foreground,”regardless of the directionality (e.g., represented by directionalityquotients plotted on an x-axis).

FIG. 35 illustrates identification of distinct audio objects based onboth of directionality and energy, such as in accordance with techniquesimplemented by the soundfield analysis unit 44 of FIG. 4. As shown inFIG. 35, greater directionality quotients are plotted towards the leftof the x-axis, and greater energy levels are plotted toward the top ofthe y-axis. In this example, the soundfield analysis unit 44 maydetermine that distinct audio objects (e.g., that are “in foreground”)are associated with vector data plotted relatively towards the top leftof the graph. As one example, the soundfield analysis unit 44 maydetermine that those vectors that are plotted in the top left quadrantof the graph are associated with distinct audio objects.

FIGS. 36A-36F are diagrams illustrating projections of at least aportion of decomposed version of spherical harmonic coefficients intothe spatial domain so as to perform interpolation in accordance withvarious aspects of the techniques described in this disclosure. FIG. 36Ais a diagram illustrating projection of one or more of the V[k] vectors35 onto a sphere 412. In the example of FIG. 36A, each number identifiesa different spherical harmonic coefficient projected onto the sphere(possibly associated with one row and/or column of the V matrix 19′).The different colors suggest a direction of a distinct audio component,where the lighter (and progressively darker) color denotes the primarydirection of the distinct component. The spatio-temporal interpolationunit 50 of the audio encoding device 20 shown in the example of FIG. 4may perform spatio-temporal interpolation between each of the red pointsto generate the sphere shown in the example of FIG. 36A.

FIG. 36B is a diagram illustrating projection of one or more of the V[k]vectors 35 onto a beam. The spatio-temporal interpolation unit 50 mayproject one row and/or column of the V[k] vectors 35 or multiple rowsand/or columns of the V[k] vectors 35 to generate the beam 414 shown inthe example of FIG. 36B.

FIG. 36C is a diagram illustrating a cross section of a projection ofone or more vectors of one or more of the V[k] vectors 35 onto a sphere,such as the sphere 412 shown in the example of FIG. 36.

Shown in FIGS. 36D-36G are examples of snapshots of time (over 1 frameof about 20 milliseconds) when different sound sources (bee, helicopter,electronic music, and people in a stadium) may be illustrated in athree-dimensional space.

The techniques described in this disclosure allow for the representationof these different sound sources to be identified and represented usinga single US[k] vector and a single V[k] vector. The temporal variabilityof the sound sources are represented in the US[k] vector while thespatial distribution of each sound source is represented by the singleV[k] vector. One V[k] vector may represent the width, location and sizeof the sound source. Moreover, the single V[k] vector may be representedas a linear combination of spherical harmonic basis functions. In theplots of FIGS. 36D-36G, the representation of the sound sources arebased on transforming the single V vector into a spatial coordinatesystem. Similar methods of illustrating sound sources are used in FIGS.36-36C.

FIG. 37 illustrates a representation of techniques for obtaining aspatio-temporal interpolation as described herein. The spatio-temporalinterpolation unit 50 of the audio encoding device 20 shown in theexample of FIG. 4 may perform the spatio-temporal interpolationdescribed below in more detail. The spatio-temporal interpolation mayinclude obtaining higher-resolution spatial components in both thespatial and time dimensions. The spatial components may be based on anorthogonal decomposition of a multi-dimensional signal comprised ofhigher-order ambisonic (HOA) coefficients (or, as HOA coefficients mayalso be referred, “spherical harmonic coefficients”).

In the illustrated graph, vectors V₁ and V₂ represent correspondingvectors of two different spatial components of a multi-dimensionalsignal. The spatial components may be obtained by a block-wisedecomposition of the multi-dimensional signal. In some examples, thespatial components result from performing a block-wise form of SVD withrespect to each block (which may refer to a frame) of higher-orderambisonics (HOA) audio data (where this ambisonics audio data includesblocks, samples or any other form of multi-channel audio data). Avariable M may be used to denote the length of an audio frame insamples.

Accordingly, V₁ and V₂ may represent corresponding vectors of theforeground V[k] vectors 51 _(k) and the foreground V[k−1] vectors 51_(k-1) for sequential blocks of the HOA coefficients 11. V₁ may, forinstance, represent a first vector of the foreground V[k−1] vectors 51_(k-1) for a first frame (k−1), while V₂ may represent a first vector ofa foreground V[k] vectors 51 _(k) for a second and subsequent frame (k).V₁ and V₂ may represent a spatial component for a single audio objectincluded in the multi-dimensional signal.

Interpolated vectors V_(x) for each x is obtained by weighting V₁ and V₂according to a number of time segments or “time samples”, x, for atemporal component of the multi-dimensional signal to which theinterpolated vectors V_(x) may be applied to smooth the temporal (and,hence, in some cases the spatial) component. Assuming an SVDcomposition, as described above, smoothing the nFG signals 49 may beobtained by doing a vector division of each time sample vector (e.g., asample of the HOA coefficients 11) with the corresponding interpolatedV. That is, US[n]=HOA[n]*V_(x)[n]⁻¹, where this represents a row vectormultiplied by a column vector, thus producing a scalar element for US.V_(x)[n]⁻¹ may be obtained as a pseudoinverse of V_(x)[n].

With respect to the weighting of V₁ and V₂, V₁ is weightedproportionally lower along the time dimension due to the V₂ occurringsubsequent in time to V₁. That is, although the foreground V[k−1]vectors 51 _(k-1) are spatial components of the decomposition,temporally sequential foreground V[k] vectors 51 _(k) representdifferent values of the spatial component over time. Accordingly, theweight of V₁ diminishes while the weight of V₂ grows as x increasesalong t. Here, d₁ and d₂ represent weights.

FIG. 38 is a block diagram illustrating artificial US matrices, US₁ andUS₂, for sequential SVD blocks for a multi-dimensional signal accordingto techniques described herein. Interpolated V-vectors may be applied tothe row vectors of the artificial US matrices to recover the originalmulti-dimensional signal. More specifically, the spatio-temporalinterpolation unit 50 may multiply the pseudo-inverse of theinterpolated foreground V[k] vectors 53 to the result of multiplying nFGsignals 49 by the foreground V[k] vectors 51 _(k) (which may be denotedas foreground HOA coefficients) to obtain K/2 interpolated samples,which may be used in place of the K/2 samples of the nFG signals as thefirst K/2 samples as shown in the example of FIG. 38 of the U₂ matrix.

FIG. 39 is a block diagram illustrating decomposition of subsequentframes of a higher-order ambisonics (HOA) signal using Singular ValueDecomposition and smoothing of the spatio-temporal components accordingto techniques described in this disclosure. Frame n−1 and frame n (whichmay also be denoted as frame n and frame n+1) represent subsequentframes in time, with each frame comprising 1024 time segments and havingHOA order of 4, giving (4+1)²=25 coefficients. US-matrices that areartificially smoothed U-matrices at frame n−1 and frame n may beobtained by application of interpolated V-vectors as illustrated. Eachgray row or column vectors represents one audio object.

Compute HOA Representation of Active Vector Based Signals

The instantaneous CVECk is created by taking each of the vector basedsignals represented in XVECk and multiplying it with its corresponding(dequantized) spatial vector, VVECk. Each VVECk is represented in MVECk.Thus, for an order L HOA signal, and M vector based signals, there willbe M vector based signals, each of which will have dimension given bythe frame-length, P. These signals can thus be represented as: XVECkmn,n=0, . . . P−1; m=0, . . . M−1. Correspondingly, there will be M spatialvectors, VVECk of dimension(L+1)². These can be represented as MVECkml,l=0, . . . , (L+1)²⁻¹; m=0, . . . , M−1. The HOA representation for eachvector based signal, CVECkm, is a matrix vector multiplication given by:

CVECkm=(XVECkm(MVECkm)T)T

which, produces a matrix of (L+1)² by P. The complete HOA representationis given by summing the contribution of each vector based signal asfollows:

CVECk=m=0M−1CVECk[m]

Spatio-Temporal Interpolation of V-Vectors

However, in order to maintain smooth spatio-temporal continuity, theabove computation is only carried out for part of the frame-length, P−B.The first B samples of a HOA matrix, are instead carried out by using aninterpolated set of MVECkml, m=0, . . . , M−1; l=0, . . . , (L+1)²,derived from the current MVECkm and previous values MVECk−1m. Thisresults in a higher time density spatial vector as we derive a vectorfor each time sample, p, as follows:

MVECkmp=pB−1MVECkm+B−1−pB−1MVECk−1m,p=0, . . . ,B−1.

For each time sample, p, a new HOA vector of (L+1)2 dimension iscomputed as:

CVECkp=(XVECkmp)MVECkmp,p=0, . . . ,B−1

These, first B samples are augmented with the P−B samples of theprevious section to result in the complete HOA representation, CVECkm,of the mth vector based signal.

At the decoder (e.g., the audio decoding device 24 shown in the exampleof FIG. 5), for certain distinct, foreground, orVector-based-predominant sound, the V-vector from the previous frame andthe V-vector from the current frame may be interpolated using linear (ornon-linear) interpolation to produce a higher-resolution (in time)interpolated V-vector over a particular time segment. The spatiotemporal interpolation unit 76 may perform this interpolation, where thespatio-temporal interpolation unit 76 may then multiple the US vector inthe current frame with the higher-resolution interpolated V-vector toproduce the HOA matrix over that particular time segment.

Alternatively, the spatio-temporal interpolation unit 76 may multiplythe US vector with the V-vector of the current frame to create a firstHOA matrix. The decoder may additionally multiply the US vector with theV-vector from the previous frame to create a second HOA matrix. Thespatio-temporal interpolation unit 76 may then apply linear (ornon-linear) interpolation to the first and second HOA matrices over aparticular time segment. The output of this interpolation may match thatof the multiplication of the US vector with an interpolated V-vector,provided common input matrices/vectors.

In this respect, the techniques may enable the audio encoding device 20and/or the audio decoding device 24 to be configured to operate inaccordance with the following clauses.

Clause 135054-1C. A device, such as the audio encoding device 20 or theaudio decoding device 24, comprising: one or more processors configuredto obtain a plurality of higher resolution spatial components in bothspace and time, wherein the spatial components are based on anorthogonal decomposition of a multi-dimensional signal comprised ofspherical harmonic coefficients.

Clause 135054-1D. A device, such as the audio encoding device 20 or theaudio decoding device 24, comprising: one or more processors configuredto smooth at least one of spatial components and time components of thefirst plurality of spherical harmonic coefficients and the secondplurality of spherical harmonic coefficients.

Clause 135054-1E. A device, such as the audio encoding device 20 or theaudio decoding device 24, comprising: one or more processors configuredto obtain a plurality of higher resolution spatial components in bothspace and time, wherein the spatial components are based on anorthogonal decomposition of a multi-dimensional signal comprised ofspherical harmonic coefficients.

Clause 135054-1G. A device, such as the audio encoding device 20 or theaudio decoding device 24, comprising: one or more processors configuredto obtain decomposed increased resolution spherical harmoniccoefficients for a time segment by, at least in part, increasing aresolution with respect to a first decomposition of a first plurality ofspherical harmonic coefficients and a second decomposition of a secondplurality of spherical harmonic coefficients.

Clause 135054-2G. The device of clause 135054-1G, wherein the firstdecomposition comprises a first V matrix representative ofright-singular vectors of the first plurality of spherical harmoniccoefficients.

Clause 135054-3G. The device of clause 135054-1G, wherein the seconddecomposition comprises a second V matrix representative ofright-singular vectors of the second plurality of spherical harmoniccoefficients.

Clause 135054-4G. The device of clause 135054-1G, wherein the firstdecomposition comprises a first V matrix representative ofright-singular vectors of the first plurality of spherical harmoniccoefficients, and wherein the second decomposition comprises a second Vmatrix representative of right-singular vectors of the second pluralityof spherical harmonic coefficients.

Clause 135054-5G. The device of clause 135054-1G, wherein the timesegment comprises a sub-frame of an audio frame.

Clause 135054-6G. The device of clause 135054-1G, wherein the timesegment comprises a time sample of an audio frame.

Clause 135054-7G. The device of clause 135054-1G, wherein the one ormore processors are configured to obtain an interpolated decompositionof the first decomposition and the second decomposition for a sphericalharmonic coefficient of the first plurality of spherical harmoniccoefficients.

Clause 135054-8G. The device of clause 135054-1G, wherein the one ormore processors are configured to obtain interpolated decompositions ofthe first decomposition for a first portion of the first plurality ofspherical harmonic coefficients included in the first frame and thesecond decomposition for a second portion of the second plurality ofspherical harmonic coefficients included in the second frame, whereinthe one or more processors are further configured to apply theinterpolated decompositions to a first time component of the firstportion of the first plurality of spherical harmonic coefficientsincluded in the first frame to generate a first artificial timecomponent of the first plurality of spherical harmonic coefficients, andapply the respective interpolated decompositions to a second timecomponent of the second portion of the second plurality of sphericalharmonic coefficients included in the second frame to generate a secondartificial time component of the second plurality of spherical harmoniccoefficients included.

Clause 135054-9G. The device of clause 135054-8G, wherein the first timecomponent is generated by performing a vector-based synthesis withrespect to the first plurality of spherical harmonic coefficients.

Clause 135054-10G. The device of clause 135054-8G, wherein the secondtime component is generated by performing a vector-based synthesis withrespect to the second plurality of spherical harmonic coefficients.

Clause 135054-11G. The device of clause 135054-8G, wherein the one ormore processors are further configured to receive the first artificialtime component and the second artificial time component, computeinterpolated decompositions of the first decomposition for the firstportion of the first plurality of spherical harmonic coefficients andthe second decomposition for the second portion of the second pluralityof spherical harmonic coefficients, and apply inverses of theinterpolated decompositions to the first artificial time component torecover the first time component and to the second artificial timecomponent to recover the second time component.

Clause 135054-12G. The device of clause 135054-1G, wherein the one ormore processors are configured to interpolate a first spatial componentof the first plurality of spherical harmonic coefficients and the secondspatial component of the second plurality of spherical harmoniccoefficients.

Clause 135054-13G. The device of clause 135054-12G, wherein the firstspatial component comprises a first U matrix representative ofleft-singular vectors of the first plurality of spherical harmoniccoefficients.

Clause 135054-14G. The device of clause 135054-12G, wherein the secondspatial component comprises a second U matrix representative ofleft-singular vectors of the second plurality of spherical harmoniccoefficients.

Clause 135054-15G. The device of clause 135054-12G, wherein the firstspatial component is representative of M time segments of sphericalharmonic coefficients for the first plurality of spherical harmoniccoefficients and the second spatial component is representative of Mtime segments of spherical harmonic coefficients for the secondplurality of spherical harmonic coefficients.

Clause 135054-16G. The device of clause 135054-12G, wherein the firstspatial component is representative of M time segments of sphericalharmonic coefficients for the first plurality of spherical harmoniccoefficients and the second spatial component is representative of Mtime segments of spherical harmonic coefficients for the secondplurality of spherical harmonic coefficients, and wherein the one ormore processors are configured to obtain the decomposed interpolatedspherical harmonic coefficients for the time segment comprisesinterpolating the last N elements of the first spatial component and thefirst N elements of the second spatial component.

Clause 135054-17G. The device of clause 135054-1G, wherein the secondplurality of spherical harmonic coefficients are subsequent to the firstplurality of spherical harmonic coefficients in the time domain.

Clause 135054-18G. The device of clause 135054-1G, wherein the one ormore processors are further configured to decompose the first pluralityof spherical harmonic coefficients to generate the first decompositionof the first plurality of spherical harmonic coefficients.

Clause 135054-19G. The device of clause 135054-1G, wherein the one ormore processors are further configured to decompose the second pluralityof spherical harmonic coefficients to generate the second decompositionof the second plurality of spherical harmonic coefficients.

Clause 135054-20G. The device of clause 135054-1G, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to the first plurality of spherical harmoniccoefficients to generate a U matrix representative of left-singularvectors of the first plurality of spherical harmonic coefficients, an Smatrix representative of singular values of the first plurality ofspherical harmonic coefficients and a V matrix representative ofright-singular vectors of the first plurality of spherical harmoniccoefficients.

Clause 135054-21G. The device of clause 135054-1G, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to the second plurality of spherical harmoniccoefficients to generate a U matrix representative of left-singularvectors of the second plurality of spherical harmonic coefficients, an Smatrix representative of singular values of the second plurality ofspherical harmonic coefficients and a V matrix representative ofright-singular vectors of the second plurality of spherical harmoniccoefficients.

Clause 135054-22G. The device of clause 135054-1G, wherein the first andsecond plurality of spherical harmonic coefficients each represent aplanar wave representation of the sound field.

Clause 135054-23G. The device of clause 135054-1G, wherein the first andsecond plurality of spherical harmonic coefficients each represent oneor more mono-audio objects mixed together.

Clause 135054-24G. The device of clause 135054-1G, wherein the first andsecond plurality of spherical harmonic coefficients each compriserespective first and second spherical harmonic coefficients thatrepresent a three dimensional sound field.

Clause 135054-25G. The device of clause 135054-1G, wherein the first andsecond plurality of spherical harmonic coefficients are each associatedwith at least one spherical basis function having an order greater thanone.

Clause 135054-26G. The device of clause 135054-1G, wherein the first andsecond plurality of spherical harmonic coefficients are each associatedwith at least one spherical basis function having an order equal tofour.

Clause 135054-27G. The device of clause 135054-1G, wherein theinterpolation is a weighted interpolation of the first decomposition andsecond decomposition, wherein weights of the weighted interpolationapplied to the first decomposition are inversely proportional to a timerepresented by vectors of the first and second decomposition and whereinweights of the weighted interpolation applied to the seconddecomposition are proportional to a time represented by vectors of thefirst and second decomposition.

Clause 135054-28G. The device of clause 135054-1G, wherein thedecomposed interpolated spherical harmonic coefficients smooth at leastone of spatial components and time components of the first plurality ofspherical harmonic coefficients and the second plurality of sphericalharmonic coefficients.

FIGS. 40A-40J are each a block diagram illustrating example audioencoding devices 510A-510J that may perform various aspects of thetechniques described in this disclosure to compress spherical harmoniccoefficients describing two or three dimensional soundfields. In each ofthe examples of FIGS. 40A-40J, the audio encoding devices 510A and 510Beach, in some examples, represents any device capable of encoding audiodata, such as a desktop computer, a laptop computer, a workstation, atablet or slate computer, a dedicated audio recording device, a cellularphone (including so-called “smart phones”), a personal media playerdevice, a personal gaming device, or any other type of device capable ofencoding audio data.

While shown as a single device, i.e., the devices 510A-510J in theexamples of FIGS. 40A-40J, the various components or units referencedbelow as being included within the devices 510A-510J may actually formseparate devices that are external from the devices 510A-510J. In otherwords, while described in this disclosure as being performed by a singledevice, i.e., the devices 510A-510J in the examples of FIGS. 40A-40J,the techniques may be implemented or otherwise performed by a systemcomprising multiple devices, where each of these devices may eachinclude one or more of the various components or units described in moredetail below. Accordingly, the techniques should not be limited to theexamples of FIG. 40A-40J.

In some examples, the audio encoding devices 510A-510J representalternative audio encoding devices to that described above with respectto the examples of FIGS. 3 and 4. Throughout the below discussion ofaudio encoding devices 510A-510J various similarities in terms ofoperation are noted with respect to the various units 30-52 of the audioencoding device 20 described above with respect to FIG. 4. In manyrespects, the audio encoding devices 510A-510J may, as described below,operate in a manner substantially similar to the audio encoding device20 although with slight derivations or modifications.

As shown in the example of FIG. 40A, the audio encoding device 510Acomprises an audio compression unit 512, an audio encoding unit 514 anda bitstream generation unit 516. The audio compression unit 512 mayrepresent a unit that compresses spherical harmonic coefficients (SHC)511 (“SHC 511”), which may also be denoted as higher-order ambisonics(HOA) coefficients 511. The audio compression unit 512 may In someinstances, the audio compression unit 512 represents a unit that maylosslessly compresses or perform lossy compression with respect to theSHC 511. The SHC 511 may represent a plurality of SHCs, where at leastone of the plurality of SHC correspond to a spherical basis functionhaving an order greater than one (where SHC of this variety are referredto as higher order ambisonics (HOA) so as to distinguish from lowerorder ambisonics of which one example is the so-called “B-format”), asdescribed in more detail above. While the audio compression unit 512 maylosslessly compress the SHC 511, in some examples, the audio compressionunit 512 removes those of the SHC 511 that are not salient or relevantin describing the soundfield when reproduced (in that some may not becapable of being heard by the human auditory system). In this sense, thelossy nature of this compression may not overly impact the perceivedquality of the soundfield when reproduced from the compressed version ofthe SHC 511.

In the example of FIG. 40A, the audio compression unit includes adecomposition unit 518 and a soundfield component extraction unit 520.The decomposition unit 518 may be similar to the linear invertibletransform unit 30 of the audio encoding device 20. That is, thedecomposition unit 518 may represent a unit configured to perform a formof analysis referred to as singular value decomposition. While describedwith respect to SVD, the techniques may be performed with respect to anysimilar transformation or decomposition that provides for sets oflinearly uncorrelated data. Also, reference to “sets” in this disclosureis intended to refer to “non-zero” sets unless specifically stated tothe contrary and is not intended to refer to the classical mathematicaldefinition of sets that includes the so-called “empty set.”

In any event, the decomposition unit 518 performs a singular valuedecomposition (which, again, may be denoted by its initialism “SVD”) totransform the spherical harmonic coefficients 511 into two or more setsof transformed spherical harmonic coefficients. In the example of FIG.40, the decomposition unit 518 may perform the SVD with respect to theSHC 511 to generate a so-called V matrix 519, an S matrix 519B and a Umatrix 519C. In the example of FIG. 40, the decomposition unit 518outputs each of the matrices separately rather than outputting the US[k]vectors in combined form as discussed above with respect to the linearinvertible transform unit 30.

As noted above, the V* matrix in the SVD mathematical expressionreferenced above is denoted as the conjugate transpose of the V matrixto reflect that SVD may be applied to matrices comprising complexnumbers. When applied to matrices comprising only real-numbers, thecomplex conjugate of the V matrix (or, in other words, the V* matrix)may be considered equal to the V matrix. Below it is assumed, for easeof illustration purposes, that the SHC 511 comprise real-numbers withthe result that the V matrix is output through SVD rather than the V*matrix. While assumed to be the V matrix, the techniques may be appliedin a similar fashion to SHC 511 having complex coefficients, where theoutput of the SVD is the V* matrix. Accordingly, the techniques shouldnot be limited in this respect to only providing for application of SVDto generate a V matrix, but may include application of SVD to SHC 511having complex components to generate a V* matrix.

In any event, the decomposition unit 518 may perform a block-wise formof SVD with respect to each block (which may refer to a frame) ofhigher-order ambisonics (HOA) audio data (where this ambisonics audiodata includes blocks or samples of the SHC 511 or any other form ofmulti-channel audio data). A variable M may be used to denote the lengthof an audio frame in samples. For example, when an audio frame includes1024 audio samples, M equals 1024. The decomposition unit 518 maytherefore perform a block-wise SVD with respect to a block the SHC 511having M-by-(N+1)² SHC, where N, again, denotes the order of the HOAaudio data. The decomposition unit 518 may generate, through performingthis SVD, V matrix 519, S matrix 519B and U matrix 519C, where each ofmatrixes 519-519C (“matrixes 519”) may represent the respective V, S andU matrixes described in more detail above. The decomposition unit 518may pass or output these matrixes 519A to soundfield componentextraction unit 520. The V matrix 519A may be of size (N+1)²-by-(N+1)²,the S matrix 519B may be of size (N+1)²-by-(N+1)² and the U matrix maybe of size M-by-(N+1)², where M refers to the number of samples in anaudio frame. A typical value for M is 1024, although the techniques ofthis disclosure should not be limited to this typical value for M.

The soundfield component extraction unit 520 may represent a unitconfigured to determine and then extract distinct components of thesoundfield and background components of the soundfield, effectivelyseparating the distinct components of the soundfield from the backgroundcomponents of the soundfield. In this respect, the soundfield componentextraction unit 520 may perform many of the operations described abovewith respect to the soundfield analysis unit 44, the backgroundselection unit 48 and the foreground selection unit 36 of the audioencoding device 20 shown in the example of FIG. 4. Given that distinctcomponents of the soundfield, in some examples, require higher order(relative to background components of the soundfield) basis functions(and therefore more SHC) to accurately represent the distinct nature ofthese components, separating the distinct components from the backgroundcomponents may enable more bits to be allocated to the distinctcomponents and less bits (relatively, speaking) to be allocated to thebackground components. Accordingly, through application of thistransformation (in the form of SVD or any other form of transform,including PCA), the techniques described in this disclosure mayfacilitate the allocation of bits to various SHC, and therebycompression of the SHC 511.

Moreover, the techniques may also enable, as described in more detailbelow with respect to FIG. 40B, order reduction of the backgroundcomponents of the soundfield given that higher order basis functions arenot, in some examples, required to represent these background portionsof the soundfield given the diffuse or background nature of thesecomponents. The techniques may therefore enable compression of diffuseor background aspects of the soundfield while preserving the salientdistinct components or aspects of the soundfield through application ofSVD to the SHC 511.

As further shown in the example of FIG. 40, the soundfield componentextraction unit 520 includes a transpose unit 522, a salient componentanalysis unit 524 and a math unit 526. The transpose unit 522 representsa unit configured to transpose the V matrix 519A to generate a transposeof the V matrix 519, which is denoted as the “V^(T) matrix 523.” Thetranspose unit 522 may output this V^(T) matrix 523 to the math unit526. The V^(T) matrix 523 may be of size (N+1)²-by-(N+1)².

The salient component analysis unit 524 represents a unit configured toperform a salience analysis with respect to the S matrix 519B. Thesalient component analysis unit 524 may, in this respect, performoperations similar to those described above with respect to thesoundfield analysis unit 44 of the audio encoding device 20 shown in theexample of FIG. 4. The salient component analysis unit 524 may analyzethe diagonal values of the S matrix 519B, selecting a variable D numberof these components having the greatest value. In other words, thesalient component analysis unit 524 may determine the value D, whichseparates the two subspaces (e.g., the foreground or predominantsubspace and the background or ambient subspace), by analyzing the slopeof the curve created by the descending diagonal values of S, where thelarge singular values represent foreground or distinct sounds and thelow singular values represent background components of the soundfield.In some examples, the salient component analysis unit 524 may use afirst and a second derivative of the singular value curve. The salientcomponent analysis unit 524 may also limit the number D to be betweenone and five. As another example, the salient component analysis unit524 may limit the number D to be between one and (N+1)². Alternatively,the salient component analysis unit 524 may pre-define the number D,such as to a value of four. In any event, once the number D isestimated, the salient component analysis unit 24 extracts theforeground and background subspace from the matrices U, V and S.

In some examples, the salient component analysis unit 524 may performthis analysis every M-samples, which may be restated as on aframe-by-frame basis. In this respect, D may vary from frame to frame.In other examples, the salient component analysis unit 24 may performthis analysis more than once per frame, analyzing two or more portionsof the frame. Accordingly, the techniques should not be limited in thisrespect to the examples described in this disclosure.

In effect, the salient component analysis unit 524 may analyze thesingular values of the diagonal matrix, which is denoted as the S matrix519B in the example of FIG. 40, identifying those values having arelative value greater than the other values of the diagonal S matrix519B. The salient component analysis unit 524 may identify D values,extracting these values to generate the S_(DIST) matrix 525A and theS_(BG) matrix 525B. The S_(DIST) matrix 525A may represent a diagonalmatrix comprising D columns having (N+1)² of the original S matrix 519B.In some instances, the S_(BG) matrix 525B may represent a matrix having(N+1)²−D columns, each of which includes (N+1)² transformed sphericalharmonic coefficients of the original S matrix 519B. While described asan S_(DIST) matrix representing a matrix comprising D columns having(N+1)² values of the original S matrix 519B, the salient componentanalysis unit 524 may truncate this matrix to generate an S_(DIST)matrix having D columns having D values of the original S matrix 519B,given that the S matrix 519B is a diagonal matrix and the (N+1)² valuesof the D columns after the D^(th) value in each column is often a valueof zero. While described with respect to a full S_(DIST) matrix 525A anda full S_(BG) matrix 525B, the techniques may be implemented withrespect to truncated versions of these S_(DIST) matrix 525A and atruncated version of this S_(BG) matrix 525B. Accordingly, thetechniques of this disclosure should not be limited in this respect.

In other words, the S_(DIST) matrix 525A may be of a size D-by-(N+1)²,while the S_(BG) matrix 525B may be of a size (N+1)²−D-by-(N+1)². TheS_(DIST) matrix 525A may include those principal components or, in otherwords, singular values that are determined to be salient in terms ofbeing distinct (DIST) audio components of the soundfield, while theS_(BG) matrix 525B may include those singular values that are determinedto be background (BG) or, in other words, ambient or non-distinct-audiocomponents of the soundfield. While shown as being separate matrixes525A and 525B in the example of FIG. 40, the matrixes 525A and 525B maybe specified as a single matrix using the variable D to denote thenumber of columns (from left-to-right) of this single matrix thatrepresent the S_(DIST) matrix 525. In some examples, the variable D maybe set to four.

The salient component analysis unit 524 may also analyze the U matrix519C to generate the U_(DIST) matrix 525C and the U_(BG) matrix 525D.Often, the salient component analysis unit 524 may analyze the S matrix519B to identify the variable D, generating the U_(DIST) matrix 525C andthe U_(BG) matrix 525B based on the variable D. That is, afteridentifying the D columns of the S matrix 519B that are salient, thesalient component analysis unit 524 may split the U matrix 519C based onthis determined variable D. In this instance, the salient componentanalysis unit 524 may generate the U_(DIST) matrix 525C to include the Dcolumns (from left-to-right) of the (N+1)² transformed sphericalharmonic coefficients of the original U matrix 519C and the U_(BG)matrix 525D to include the remaining (N+1)²−D columns of the (N+1)²transformed spherical harmonic coefficients of the original U matrix519C. The U_(DIST) matrix 525C may be of a size of M-by-D, while theU_(BG) matrix 525D may be of a size of M-by-(N+1)²−D. While shown asbeing separate matrixes 525C and 525D in the example of FIG. 40, thematrixes 525C and 525D may be specified as a single matrix using thevariable D to denote the number of columns (from left-to-right) of thissingle matrix that represent the U_(DIST) matrix 525B.

The salient component analysis unit 524 may also analyze the V^(T)matrix 523 to generate the V^(T) _(DIST) matrix 525E and the V^(T) _(BG)matrix 525F. Often, the salient component analysis unit 524 may analyzethe S matrix 519B to identify the variable D, generating the V^(T)_(DIST) matrix 525E and the V_(BG) matrix 525F based on the variable D.That is, after identifying the D columns of the S matrix 519B that aresalient, the salient component analysis unit 254 may split the V matrix519A based on this determined variable D. In this instance, the salientcomponent analysis unit 524 may generate the V^(T) _(DIST) matrix 525Eto include the (N+1)² rows (from top-to-bottom) of the D values of theoriginal V^(T) matrix 523 and the V^(T) _(BG) matrix 525F to include theremaining (N+1)² rows of the (N+1)²−D values of the original V^(T)matrix 523. The V^(T) _(DIST) matrix 525E may be of a size of(N+1)²-by-D, while the V^(T) _(BG) matrix 525D may be of a size of(N+1)²-by-(N+1)²−D. While shown as being separate matrixes 525E and 525Fin the example of FIG. 40, the matrixes 525E and 525F may be specifiedas a single matrix using the variable D to denote the number of columns(from left-to-right) of this single matrix that represent the V_(DIST)matrix 525E. The salient component analysis unit 524 may output theS_(DIST) matrix 525, the S_(BG) matrix 525B, the U_(DIST) matrix 525C,the U_(BG) matrix 525D and the V^(T) _(BG) matrix 525F to the math unit526, while also outputting the V^(T) _(DIST) matrix 525E to thebitstream generation unit 516.

The math unit 526 may represent a unit configured to perform matrixmultiplications or any other mathematical operation capable of beingperformed with respect to one or more matrices (or vectors). Morespecifically, as shown in the example of FIG. 40, the math unit 526 mayrepresent a unit configured to perform a matrix multiplication tomultiply the U_(DIST) matrix 525C by the S_(DIST) matrix 525A togenerate a U_(DIST)*S_(DIST) vectors 527 of size M-by-D. The matrix mathunit 526 may also represent a unit configured to perform a matrixmultiplication to multiply the U_(BG) matrix 525D by the S_(BG) matrix525B and then by the V^(T) _(BG) matrix 525F to generateU_(BG)*S_(BG)*V^(T) _(BG) matrix 525F to generate background sphericalharmonic coefficients 531 of size of size M-by-(N+1)² (which mayrepresent those of spherical harmonic coefficients 511 representative ofbackground components of the soundfield). The math unit 526 may outputthe U_(DIST)*S_(DIST) vectors 527 and the background spherical harmoniccoefficients 531 to the audio encoding unit 514.

The audio encoding device 510 therefore differs from the audio encodingdevice 20 in that the audio encoding device 510 includes this math unit526 configured to generate the U_(DIST)*S_(DIST) vectors 527 and thebackground spherical harmonic coefficients 531 through matrixmultiplication at the end of the encoding process. The linear invertibletransform unit 30 of the audio encoding device 20 performs themultiplication of the U and S matrices to output the US[k] vectors 33 atthe relative beginning of the encoding process, which may facilitatelater operations, such as reordering, not shown in the example of FIG.40. Moreover, the audio encoding device 20, rather than recover thebackground SHC 531 at the end of the encoding process, selects thebackground HOA coefficients 47 directly from the HOA coefficients 11,thereby potentially avoiding matrix multiplications to recover thebackground SHC 531.

The audio encoding unit 514 may represent a unit that performs a form ofencoding to further compress the U_(DIST)*S_(DIST) vectors 527 and thebackground spherical harmonic coefficients 531. The audio encoding unit514 may operate in a manner substantially similar to the psychoacousticaudio coder unit 40 of the audio encoding device 20 shown in the exampleof FIG. 4. In some instances, this audio encoding unit 514 may representone or more instances of an advanced audio coding (AAC) encoding unit.The audio encoding unit 514 may encode each column or row of theU_(DIST)*S_(DIST) vectors 527. Often, the audio encoding unit 514 mayinvoke an instance of an AAC encoding unit for each of theorder/sub-order combinations remaining in the background sphericalharmonic coefficients 531. More information regarding how the backgroundspherical harmonic coefficients 531 may be encoded using an AAC encodingunit can be found in a convention paper by Eric Hellerud, et al.,entitled “Encoding Higher Order Ambisonics with AAC,” presented at the124^(th) Convention, 2008 May 17-20 and available at:http://ro.uow.edu.au/cgi/viewcontent.cgi?article=8025&context=engpapers.The audio encoding unit 14 may output an encoded version of theU_(DIST)*S_(DIST) vectors 527 (denoted “encoded U_(DIST)*S_(DIST)vectors 515”) and an encoded version of the background sphericalharmonic coefficients 531 (denoted “encoded background sphericalharmonic coefficients 515B”) to the bitstream generation unit 516. Insome instances, the audio encoding unit 514 may audio encode thebackground spherical harmonic coefficients 531 using a lower targetbitrate than that used to encode the U_(DIST)*S_(DIST) vectors 527,thereby potentially compressing the background spherical harmoniccoefficients 531 more in comparison to the U_(DIST)*S_(DIST) vectors527.

The bitstream generation unit 516 represents a unit that formats data toconform to a known format (which may refer to a format known by adecoding device), thereby generating the bitstream 517. The bitstreamgeneration unit 42 may operate in a manner substantially similar to thatdescribed above with respect to the bitstream generation unit 42 of theaudio encoding device 24 shown in the example of FIG. 4. The bitstreamgeneration unit 516 may include a multiplexer that multiplexes theencoded U_(DIST)*S_(DIST) vectors 515, the encoded background sphericalharmonic coefficients 515B and the V^(T) _(DIST) matrix 525E.

FIG. 40B is a block diagram illustrating an example audio encodingdevice 510B that may perform various aspects of the techniques describedin this disclosure to compress spherical harmonic coefficientsdescribing two or three dimensional soundfields. The audio encodingdevice 510B may be similar to audio encoding device 510 in that audioencoding device 510B includes an audio compression unit 512, an audioencoding unit 514 and a bitstream generation unit 516. Moreover, theaudio compression unit 512 of the audio encoding device 510B may besimilar to that of the audio encoding device 510 in that the audiocompression unit 512 includes a decomposition unit 518. The audiocompression unit 512 of the audio encoding device 510B may differ fromthe audio compression unit 512 of the audio encoding device 510 in thatthe soundfield component extraction unit 520 includes an additionalunit, denoted as order reduction unit 528A (“order reduct unit 528”).For this reason, the soundfield component extraction unit 520 of theaudio encoding device 510B is denoted as the “soundfield componentextraction unit 520B.”

The order reduction unit 528A represents a unit configured to performadditional order reduction of the background spherical harmoniccoefficients 531. In some instances, the order reduction unit 528A mayrotate the soundfield represented the background spherical harmoniccoefficients 531 to reduce the number of the background sphericalharmonic coefficients 531 necessary to represent the soundfield. In someinstances, given that the background spherical harmonic coefficients 531represents background components of the soundfield, the order reductionunit 528A may remove, eliminate or otherwise delete (often by zeroingout) those of the background spherical harmonic coefficients 531corresponding to higher order spherical basis functions. In thisrespect, the order reduction unit 528A may perform operations similar tothe background selection unit 48 of the audio encoding device 20 shownin the example of FIG. 4. The order reduction unit 528A may output areduced version of the background spherical harmonic coefficients 531(denoted as “reduced background spherical harmonic coefficients 529”) tothe audio encoding unit 514, which may perform audio encoding in themanner described above to encode the reduced background sphericalharmonic coefficients 529 and thereby generate the encoded reducedbackground spherical harmonic coefficients 515B.

The various clauses listed below may present various aspects of thetechniques described in this disclosure.

Clause 132567-1. A device, such as the audio encoding device 510 or theaudio encoding device 510B, comprising: one or more processorsconfigured to perform a singular value decomposition with respect to aplurality of spherical harmonic coefficients representative of a soundfield to generate a U matrix representative of left-singular vectors ofthe plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, and represent theplurality of spherical harmonic coefficients as a function of at least aportion of one or more of the U matrix, the S matrix and the V matrix.

Clause 132567-2. The device of clause 132567-1, wherein the one or moreprocessors are further configured to generate a bitstream to include therepresentation of the plurality of spherical harmonic coefficients asone or more vectors of the U matrix, the S matrix and the V matrixincluding combinations thereof or derivatives thereof.

Clause 132567-3. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when represent the plurality ofspherical harmonic coefficients, determine one or more U_(DIST) vectorsincluded within the U matrix that describe distinct components of thesound field.

Clause 132567-4. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when representing the plurality ofspherical harmonic coefficients, determine one or more U_(DIST) vectorsincluded within the U matrix that describe distinct components of thesound field, determine one or more S_(DIST) vectors included within theS matrix that also describe the distinct components of the sound field,and multiply the one or more U_(DIST) vectors and the one or more one ormore S_(DIST) vectors to generate U_(DIST)*S_(DIST) vectors.

Clause 132567-5. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when representing the plurality ofspherical harmonic coefficients, determine one or more U_(DIST) vectorsincluded within the U matrix that describe distinct components of thesound field, determine one or more S_(DIST) vectors included within theS matrix that also describe the distinct components of the sound field,and multiply the one or more U_(DIST) vectors and the one or more one ormore S_(DIST) vectors to generate one or more U_(DIST)*S_(DIST) vectors,and wherein the one or more processors are further configured to audioencode the one or more U_(DIST)*S_(DIST) vectors to generate an audioencoded version of the one or more U_(DIST)*S_(DIST) vectors.

Clause 132567-6. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when representing the plurality ofspherical harmonic coefficients, determine one or more U_(BG) vectorsincluded within the U matrix.

Clause 132567-7. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when representing the plurality ofspherical harmonic coefficients, analyze the S matrix to identifydistinct and background components of the sound field.

Clause 132567-8. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when representing the plurality ofspherical harmonic coefficients, analyze the S matrix to identifydistinct and background components of the sound field, and determine,based on the analysis of the S matrix, one or more U_(DIST) vectors ofthe U matrix that describe distinct components of the sound field andone or more U_(BG) vectors of the U matrix that describe backgroundcomponents of the sound field.

Clause 132567-9. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when representing the plurality ofspherical harmonic coefficients, analyze the S matrix to identifydistinct and background components of the sound field on anaudio-frame-by-audio-frame basis, and determine, based on theaudio-frame-by-audio-frame analysis of the S matrix, one or moreU_(DIST) vectors of the U matrix that describe distinct components ofthe sound field and one or more U_(BG) vectors of the U matrix thatdescribe background components of the sound field.

Clause 132567-10. The device of clause 132567-1, wherein the one or moreprocessors are further configured to, when representing the plurality ofspherical harmonic coefficients, analyze the S matrix to identifydistinct and background components of the sound field, determine, basedon the analysis of the S matrix, one or more U_(DIST) vectors of the Umatrix that describe distinct components of the sound field and one ormore U_(BG) vectors of the U matrix that describe background componentsof the sound field, determining, based on the analysis of the S matrix,one or more S_(DIST) vectors and one or more S_(BG) vectors of the Smatrix corresponding to the one or more U_(DIST) vectors and the one ormore U_(BG) vectors, and determine, based on the analysis of the Smatrix, one or more V^(T) _(DIST) vectors and one or more V^(T) _(BG)vectors of a transpose of the V matrix corresponding to the one or moreU_(DIST) vectors and the one or more U_(BG) vectors.

Clause 132567-11. The device of clause 132567-10, wherein the one ormore processors are further configured to, when representing theplurality of spherical harmonic coefficients further, multiply the oneor more U_(BG) vectors by the one or more S_(BG) vectors and then by oneor more V^(T) _(BG) vectors to generate one or more U_(BG)*S_(BG)*V^(T)_(BG) vectors, and wherein the one or more processors are furtherconfigured to audio encode the U_(BG)*S_(BG)*V^(T) _(BG) vectors togenerate an audio encoded version of the U_(BG)*S_(BG)*V^(T) _(BG)vectors.

Clause 132567-12. The device of clause 132567-10, wherein the one ormore processors are further configured to, when representing theplurality of spherical harmonic coefficients, multiply the one or moreU_(BG) vectors by the one or more S_(BG) vectors and then by one or moreV^(T) _(BG) vectors to generate one or more U_(BG)*S_(BG)*V^(T) _(BG)vectors, and perform an order reduction process to eliminate those ofthe coefficients of the one or more U_(BG)*S_(BG)*V^(T) _(BG) vectorsassociated with one or more orders of spherical harmonic basis functionsand thereby generate an order-reduced version of the one or moreU_(BG)*S_(BG)*V^(T) _(BG) vectors.

Clause 132567-13. The device of clause 132567-10, wherein the one ormore processors are further configured to, when representing theplurality of spherical harmonic coefficients, multiply the one or moreU_(BG) vectors by the one or more S_(BG) vectors and then by one or moreV^(T) _(BG) vectors to generate one or more U_(BG)*S_(BG)*V^(T) _(BG)vectors, and perform an order reduction process to eliminate those ofthe coefficients of the one or more U_(BG)*S_(BG)*V^(T) _(BG) vectorsassociated with one or more orders of spherical harmonic basis functionsand thereby generate an order-reduced version of the one or moreU_(BG)*S_(BG)*V^(T) _(BG) vectors, and wherein the one or moreprocessors are further configured to audio encode the order-reducedversion of the one or more U_(BG)*S_(BG)*V^(T) _(BG) vectors to generatean audio encoded version of the order-reduced one or moreU_(BG)*S_(BG)*V^(T) _(BG) vectors.

Clause 132567-14. The device of clause 132567-10, wherein the one ormore processors are further configured to, when representing theplurality of spherical harmonic coefficients, multiply the one or moreU_(BG) vectors by the one or more S_(BG) vectors and then by one or moreV^(T) _(BG) vectors to generate one or more U_(BG)*S_(BG)*V^(T) _(BG)vectors, perform an order reduction process to eliminate those of thecoefficients of the one or more U_(BG)*S_(BG)*V^(T) _(BG) vectorsassociated with one or more orders greater than one of sphericalharmonic basis functions and thereby generate an order-reduced versionof the one or more U_(BG)*S_(BG)*V^(T) _(BG) vectors, and audio encodethe order-reduced version of the one or more U_(BG)*S_(BG)*V^(T) _(BG)vectors to generate an audio encoded version of the order-reduced one ormore U_(BG)*S_(BG)*V^(T) _(BG) vectors.

Clause 132567-15. The device of clause 132567-10, wherein the one ormore processors are further configured to generate a bitstream toinclude the one or more V^(T) _(DIST) vectors.

Clause 132567-16. The device of clause 132567-10, wherein the one ormore processors are further configured to generate a bitstream toinclude the one or more V^(T) _(DIST) vectors without audio encoding theone or more V^(T) _(DIST) vectors.

Clause 132567-1F. A device, such as the audio encoding device 510 or510B, comprising one or more processors to perform a singular valuedecomposition with respect to multi-channel audio data representative ofat least a portion of the sound field to generate a U matrixrepresentative of left-singular vectors of the multi-channel audio data,an S matrix representative of singular values of the multi-channel audiodata and a V matrix representative of right-singular vectors of themulti-channel audio data, and represent the multi-channel audio data asa function of at least a portion of one or more of the U matrix, the Smatrix and the V matrix.

Clause 132567-2F. The device of clause 132567-1F, wherein themulti-channel audio data comprises a plurality of spherical harmoniccoefficients.

Clause 132567-3F. The device of clause 132567-2F, wherein the one ormore processors are further configured to perform as recited by anycombination of the clauses 132567-2 through 132567-16.

From each of the various clauses described above, it should beunderstood that any of the audio encoding devices 510A-510J may performa method or otherwise comprise means to perform each step of the methodfor which the audio encoding device 510A-510J is configured to performIn some instances, these means may comprise one or more processors. Insome instances, the one or more processors may represent a specialpurpose processor configured by way of instructions stored to anon-transitory computer-readable storage medium. In other words, variousaspects of the techniques in each of the sets of encoding examples mayprovide for a non-transitory computer-readable storage medium havingstored thereon instructions that, when executed, cause the one or moreprocessors to perform the method for which the audio encoding device510A-510J has been configured to perform.

For example, a clause 132567-17 may be derived from the foregoing clause132567-1 to be a method comprising performing a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of a sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and representing the plurality of sphericalharmonic coefficients as a function of at least a portion of one or moreof the U matrix, the S matrix and the V matrix.

As another example, a clause 132567-18 may be derived from the foregoingclause 132567-1 to be a device, such as the audio encoding device 510B,comprising means for performing a singular value decomposition withrespect to a plurality of spherical harmonic coefficients representativeof a sound field to generate a U matrix representative of left-singularvectors of the plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, and means forrepresenting the plurality of spherical harmonic coefficients as afunction of at least a portion of one or more of the U matrix, the Smatrix and the V matrix.

As yet another example, a clause 132567-18 may be derived from theforegoing clause 132567-1 to be a non-transitory computer-readablestorage medium having stored thereon instructions that, when executed,cause one or more processor to perform a singular value decompositionwith respect to a plurality of spherical harmonic coefficientsrepresentative of a sound field to generate a U matrix representative ofleft-singular vectors of the plurality of spherical harmoniccoefficients, an S matrix representative of singular values of theplurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and represent the plurality of spherical harmoniccoefficients as a function of at least a portion of one or more of the Umatrix, the S matrix and the V matrix.

Various clauses may likewise be derived from clauses 132567-2 through132567-16 for the various devices, methods and non-transitorycomputer-readable storage mediums derived as exemplified above. The samemay be performed for the various other clauses listed throughout thisdisclosure.

FIG. 40C is a block diagram illustrating example audio encoding devices510C that may perform various aspects of the techniques described inthis disclosure to compress spherical harmonic coefficients describingtwo or three dimensional soundfields. The audio encoding device 510C maybe similar to audio encoding device 510B in that audio encoding device510C includes an audio compression unit 512, an audio encoding unit 514and a bitstream generation unit 516. Moreover, the audio compressionunit 512 of the audio encoding device 510C may be similar to that of theaudio encoding device 510B in that the audio compression unit 512includes a decomposition unit 518.

The audio compression unit 512 of the audio encoding device 510C may,however, differ from the audio compression unit 512 of the audioencoding device 510B in that the soundfield component extraction unit520 includes an additional unit, denoted as vector reorder unit 532. Forthis reason, the soundfield component extraction unit 520 of the audioencoding device 510C is denoted as the “soundfield component extractionunit 520C”.

The vector reorder unit 532 may represent a unit configured to reorderthe U_(DIST)*S_(DIST) vectors 527 to generate reordered one or moreU_(DIST)*S_(DIST) vectors 533. In this respect, the vector reorder unit532 may operate in a manner similar to that described above with respectto the reorder unit 34 of the audio encoding device 20 shown in theexample of FIG. 4. The soundfield component extraction unit 520C mayinvoke the vector reorder unit 532 to reorder the U_(DIST)*S_(DIST)vectors 527 because the order of the U_(DIST)*S_(DIST) vectors 527(where each vector of the U_(DIST)*S_(DIST) vectors 527 may representone or more distinct mono-audio object present in the soundfield) mayvary from portions of the audio data for the reason noted above. Thatis, given that the audio compression unit 512, in some examples,operates on these portions of the audio data generally referred to asaudio frames (which may have M samples of the spherical harmoniccoefficients 511, where M is, in some examples, set to 1024), theposition of vectors corresponding to these distinct mono-audio objectsas represented in the U matrix 519C from which the U_(DIST)*S_(DIST)vectors 527 are derived may vary from audio frame-to-audio frame.

Passing these U_(DIST)*S_(DIST) vectors 527 directly to the audioencoding unit 514 without reordering these U_(DIST)*S_(DIST) vectors 527from audio frame-to audio frame may reduce the extent of the compressionachievable for some compression schemes, such as legacy compressionschemes that perform better when mono-audio objects correlate(channel-wise, which is defined in this example by the order of theU_(DIST)*S_(DIST) vectors 527 relative to one another) across audioframes. Moreover, when not reordered, the encoding of theU_(DIST)*S_(DIST) vectors 527 may reduce the quality of the audio datawhen recovered. For example, AAC encoders, which may be represented inthe example of FIG. 40C by the audio encoding unit 514, may moreefficiently compress the reordered one or more U_(DIST)*S_(DIST) vectors533 from frame-to-frame in comparison to the compression achieved whendirectly encoding the U_(DIST)*S_(DIST) vectors 527 from frame-to-frame.While described above with respect to AAC encoders, the techniques maybe performed with respect to any encoder that provides bettercompression when mono-audio objects are specified across frames in aspecific order or position (channel-wise).

As described in more detail below, the techniques may enable audioencoding device 510C to reorder one or more vectors (i.e., theU_(DIST)*S_(DIST) vectors 527 to generate reordered one or more vectorsU_(DIST)*S_(DIST) vectors 533 and thereby facilitate compression ofU_(DIST)*S_(DIST) vectors 527 by a legacy audio encoder, such as audioencoding unit 514. The audio encoding device 510C may further performthe techniques described in this disclosure to audio encode thereordered one or more U_(DIST)*S_(DIST) vectors 533 using the audioencoding unit 514 to generate an encoded version 515A of the reorderedone or more U_(DIST)*S_(DIST) vectors 533.

For example, the soundfield component extraction unit 520C may invokethe vector reorder unit 532 to reorder one or more firstU_(DIST)*S_(DIST) vectors 527 from a first audio frame subsequent intime to the second frame to which one or more second U_(DIST)*S_(DIST)vectors 527 correspond. While described in the context of a first audioframe being subsequent in time to the second audio frame, the firstaudio frame may precede in time the second audio frame. Accordingly, thetechniques should not be limited to the example described in thisdisclosure.

The vector reorder unit 532 may first perform an energy analysis withrespect to each of the first U_(DIST)*S_(DIST) vectors 527 and thesecond U_(DIST)*S_(DIST) vectors 527, computing a root mean squaredenergy for at least a portion of (but often the entire) first audioframe and a portion of (but often the entire) second audio frame andthereby generate (assuming D to be four) eight energies, one for each ofthe first U_(DIST)*S_(DIST) vectors 527 of the first audio frame and onefor each of the second U_(DIST)*S_(DIST) vectors 527 of the second audioframe. The vector reorder unit 532 may then compare each energy from thefirst U_(DIST)*S_(DIST) vectors 527 turn-wise against each of the secondU_(DIST)*S_(DIST) vectors 527 as described above with respect to Tables1-4.

In other words, when using frame based SVD (or related methods such asKLT & PCA) decomposition on HoA signals, the ordering of the vectorsfrom frame to frame may not be guaranteed to be consistent. For example,if there are two objects in the underlying soundfield, the decomposition(which when properly performed may be referred to as an “idealdecomposition”) may result in the separation of the two objects suchthat one vector would represent one object in the U matrix. However,even when the decomposition may be denoted as an “ideal decomposition,”the vectors may alternate in position in the U matrix (andcorrespondingly in the S and V matrix) from frame-to-frame. Further,there may well be phase differences, where the vector reorder unit 532may inverse the phase using phase inversion (by dot multiplying eachelement of the inverted vector by minus or negative one). In order tofeed these vectors, frame-by-frame into the same “AAC/Audio Codingengine” may require the order to be identified (or, in other words, thesignals to be matched), the phase to be rectified, and carefulinterpolation at frame boundaries to be applied. Without this, theunderlying audio codec may produce extremely harsh artifacts includingthose known as ‘temporal smearing’ or ‘pre-echo’.

In accordance with various aspects of the techniques described in thisdisclosure, the audio encoding device 510C may apply multiplemethodologies to identify/match vectors, using energy andcross-correlation at frame boundaries of the vectors. The audio encodingdevice 510C may also ensure that a phase change of 180 degrees—whichoften appears at frame boundaries—is corrected. The vector reorder unit532 may apply a form of fade-in/fade-out interpolation window betweenthe vectors to ensure smooth transition between the frames.

In this way, the audio encoding device 530C may reorder one or morevectors to generate reordered one or more first vectors and therebyfacilitate encoding by a legacy audio encoder, wherein the one or morevectors describe represent distinct components of a soundfield, andaudio encode the reordered one or more vectors using the legacy audioencoder to generate an encoded version of the reordered one or morevectors.

Various aspects of the techniques described in this disclosure mayenable the audio encoding device 510C to operate in accordance with thefollowing clauses.

Clause 133143-1A. A device, such as the audio encoding device 510C,comprising: one or more processors configured to perform an energycomparison between one or more first vectors and one or more secondvectors to determine reordered one or more first vectors and facilitateextraction of the one or both of the one or more first vectors and theone or more second vectors, wherein the one or more first vectorsdescribe distinct components of a sound field in a first portion ofaudio data and the one or more second vectors describe distinctcomponents of the sound field in a second portion of the audio data.

Clause 133143-2A. The device of clause 133143-1A, wherein the one ormore first vectors do not represent background components of the soundfield in the first portion of the audio data, and wherein the one ormore second vectors do not represent background components of the soundfield in the second portion of the audio data.

Clause 133143-3A. The device of clause 133143-1A, wherein the one ormore processors are further configured to, after performing the energycomparison, perform a cross-correlation between the one or more firstvectors and the one or more second vectors to identify the one or morefirst vectors that correlated to the one or more second vectors.

Clause 133143-4A. The device of clause 133143-1A, wherein the one ormore processors are further configured to discard one or more of thesecond vectors based on the energy comparison to generate reduced one ormore second vectors having less vectors than the one or more secondvectors, perform a cross-correlation between at least one of the one ormore first vectors and the reduced one or more second vectors toidentify one of the reduced one or more second vectors that correlatesto the at least one of the one or more first vectors, and reorder atleast one of the one or more first vectors based on thecross-correlation to generate the reordered one or more first vectors.

Clause 133143-5A. The device of clause 133143-1A, wherein the one ormore processors are further configured to discard one or more of thesecond vectors based on the energy comparison to generate reduced one ormore second vectors having less vectors than the one or more secondvectors, perform a cross-correlation between at least one of the one ormore first vectors and the reduced one or more second vectors toidentify one of the reduced one or more second vectors that correlatesto the at least one of the one or more first vectors, reorder at leastone of the one or more first vectors based on the cross-correlation togenerate the reordered one or more first vectors, and encode thereordered one or more first vectors to generate the audio encodedversion of the reordered one or more first vectors.

Clause 133143-6A. The device of clause 133143-1A, wherein the one ormore processors are further configured to discard one or more of thesecond vectors based on the energy comparison to generate reduced one ormore second vectors having less vectors than the one or more secondvectors, perform a cross-correlation between at least one of the one ormore first vectors and the reduced one or more second vectors toidentify one of the reduced one or more second vectors that correlatesto the at least one of the one or more first vectors, reorder at leastone of the one or more first vectors based on the cross-correlation togenerate the reordered one or more first vectors, encode the reorderedone or more first vectors to generate the audio encoded version of thereordered one or more first vectors, and generate a bitstream to includethe encoded version of the reordered one or more first vectors.

Clause 133143-7A. The device of claims 3A-6A, wherein the first portionof the audio data comprises a first audio frame having M samples,wherein the second portion of the audio data comprises a second audioframe having the same number, M, of samples, wherein the one or moreprocessors are further configured to, when performing thecross-correlation, perform the cross-correlation with respect to thelast M-Z values of the at least one of the one or more first vectors andthe first M-Z values of each of the reduced one or more second vectorsto identify one of the reduced one or more second vectors thatcorrelates to the at least one of the one or more first vectors, andwherein Z is less than M.

Clause 133143-8A. The device of claims 3A-6A, wherein the first portionof the audio data comprises a first audio frame having M samples,wherein the second portion of the audio data comprises a second audioframe having the same number, M, of samples, wherein the one or moreprocessors are further configured to, when performing thecross-correlation, perform the cross-correlation with respect to thelast M-Y values of the at least one of the one or more first vectors andthe first M-Z values of each of the reduced one or more second vectorsto identify one of the reduced one or more second vectors thatcorrelates to the at least one of the one or more first vectors, andwherein both Z and Y are less than M.

Clause 133143-9A. The device of claims 3A-6A, wherein the one or moreprocessors are further configured to, when performing the crosscorrelation, invert at least one of the one or more first vectors andthe one or more second vectors.

Clause 133143-10A. The device of clause 133143-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of the sound field to generate the one ormore first vectors and the one or more second vectors.

Clause 133143-11A. The device of clause 133143-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of the sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and generate the one or more first vectors andthe one or more second vectors as a function of one or more of the Umatrix, the S matrix and the V matrix.

Clause 133143-12A. The device of clause 133143-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of the sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, perform a saliency analysis with respect to the Smatrix to identify one or more UDIST vectors of the U matrix and one ormore SDIST vectors of the S matrix, and determine the one or more firstvectors and the one or more second vectors by at least in partmultiplying the one or more UDIST vectors by the one or more SDISTvectors.

Clause 133143-13A. The device of clause 133143-1A, wherein the firstportion of the audio data occurs in time before the second portion ofthe audio data.

Clause 133143-14A. The device of clause 133143-1A, wherein the firstportion of the audio data occurs in time after the second portion of theaudio data.

Clause 133143-15A. The device of clause 133143-1A, wherein the one ormore processors are further configured to, when performing the energycomparison, compute a root mean squared energy for each of the one ormore first vectors and the one or more second vectors, and compare theroot mean squared energy computed for at least one of the one or morefirst vectors to the root mean squared energy computed for each of theone or more second vectors.

Clause 133143-16A. The device of clause 133143-1A, wherein the one ormore processors are further configured to reorder at least one of theone or more first vectors based on the energy comparison to generate thereordered one or more first vectors, and wherein the one or moreprocessors are further configured to, when reordering the first vectors,apply a fade-in/fade-out interpolation window between the one or morefirst vectors to ensure a smooth transition when generating thereordered one or more first vectors.

Clause 133143-17A. The device of clause 133143-1A, wherein the one ormore processors are further configured to reorder the one or more firstvectors based on at least on the energy comparison to generate thereordered one or more first vectors, generate a bitstream to include thereordered one or more first vectors or an encoded version of thereordered one or more first vectors, and specify reorder information inthe bitstream describing how the one or more first vectors wasreordered.

Clause 133143-18A. The device of clause 133143-1A, wherein the energycomparison facilitates extraction of the one or both of the one or morefirst vectors and the one or more second vectors in order to promoteaudio encoding of the one or both of the one or more first vectors andthe one or more second vectors.

Clause 133143-1B. The device, such as the audio encoding device 510C,comprising: one or more processors configured to perform a crosscorrelation with respect to one or more first vectors and one or moresecond vectors to determine reordered one or more first vectors andfacilitate extraction of one or both of the one or more first vectorsand the one or more second vectors, wherein the one or more firstvectors describe distinct components of a sound field in a first portionof audio data and the one or more second vectors describe distinctcomponents of the sound field in a second portion of the audio data.

Clause 133143-2B. The device of clause 133143-1B, wherein the one ormore first vectors do not represent background components of the soundfield in the first portion of the audio data, and wherein the one ormore second vectors do not represent background components of the soundfield in the second portion of the audio data.

Clause 133143-3B. The device of clause 133143-1B, wherein the one ormore processors are further configured to, prior to performing the crosscorrelation, perform an energy comparison between the one or more firstvectors and the one or more second vectors to generate reduced one ormore second vectors having less vectors than the one or more secondvectors, and wherein the one or more processors are further configuredto, when performing the cross correlation, perform the cross correlationbetween the one or more first vectors and reduced one or more secondvectors to facilitate audio encoding of one or both of the one or morefirst vectors and the one or more second vectors.

Clause 133143-4B. The device of clause 133143-3B, wherein the one ormore processors are further configured to, when performing the energycomparison, compute a root mean squared energy for each of the one ormore first vectors and the one or more second vectors, and compare theroot mean squared energy computed for at least one of the one or morefirst vectors to the root mean squared energy computed for each of theone or more second vectors.

Clause 133143-5B. The device of clause 133143-3B, wherein the one ormore processors are further configured to discard one or more of thesecond vectors based on the energy comparison to generate reduced one ormore second vectors having less vectors than the one or more secondvectors, wherein the one or more processors are further configured to,when performing the cross correlation, perform the cross correlationbetween at least one of the one or more first vectors and the reducedone or more second vectors to identify one of the reduced one or moresecond vectors that correlates to the at least one of the one or morefirst vectors, and wherein the one or more processors are furtherconfigured to reorder at least one of the one or more first vectorsbased on the cross-correlation to generate the reordered one or morefirst vectors.

Clause 133143-6B. The device of clause 133143-3B, wherein the one ormore processors are further configured to discard one or more of thesecond vectors based on the energy comparison to generate reduced one ormore second vectors having less vectors than the one or more secondvectors, wherein the one or more processors are further configured to,when performing the cross correlation, perform the cross correlationbetween at least one of the one or more first vectors and the reducedone or more second vectors to identify one of the reduced one or moresecond vectors that correlates to the at least one of the one or morefirst vectors, and wherein the one or more processors are furtherconfigured to reorder at least one of the one or more first vectorsbased on the cross-correlation to generate the reordered one or morefirst vectors, and encode the reordered one or more first vectors togenerate the audio encoded version of the reordered one or more firstvectors.

Clause 133143-7B. The device of clause 133143-3B, wherein the one ormore processors are further configured to discard one or more of thesecond vectors based on the energy comparison to generate reduced one ormore second vectors having less vectors than the one or more secondvectors, wherein the one or more processors are further configured to,when performing the cross correlation, perform the cross correlationbetween at least one of the one or more first vectors and the reducedone or more second vectors to identify one of the reduced one or moresecond vectors that correlates to the at least one of the one or morefirst vectors, and wherein the one or more processors are furtherconfigured to reordering at least one of the one or more first vectorsbased on the cross-correlation to generate the reordered one or morefirst vectors, encode the reordered one or more first vectors togenerate the audio encoded version of the reordered one or more firstvectors, and generate a bitstream to include the encoded version of thereordered one or more first vectors.

Clause 133143-8B. The device of claims 3B-7B, wherein the first portionof the audio data comprises a first audio frame having M samples,wherein the second portion of the audio data comprises a second audioframe having the same number, M, of samples, wherein the one or moreprocessors are further configured to, when performing thecross-correlation, perform the cross-correlation with respect to thelast M-Z values of the at least one of the one or more first vectors andthe first M-Z values of each of the reduced one or more second vectorsto identify one of the reduced one or more second vectors thatcorrelates to the at least one of the one or more first vectors, andwherein Z is less than M.

Clause 133143-9B. The device of claims 3B-7B, wherein the first portionof the audio data comprises a first audio frame having M samples,wherein the second portion of the audio data comprises a second audioframe having the same number, M, of samples, wherein the one or moreprocessors are further configured to, when performing thecross-correlation, perform the cross-correlation with respect to thelast M-Y values of the at least one of the one or more first vectors andthe first M-Z values of each of the reduced one or more second vectorsto identify one of the reduced one or more second vectors thatcorrelates to the at least one of the one or more first vectors, andwherein both Z and Y are less than M.

Clause 133143-10B. The device of claims 1B, wherein the one or moreprocessors are further configured to, when performing the crosscorrelation, invert at least one of the one or more first vectors andthe one or more second vectors.

Clause 133143-11B. The device of clause 133143-1B, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of the sound field to generate the one ormore first vectors and the one or more second vectors.

Clause 133143-12B. The device of clause 133143-1B, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of the sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and generate the one or more first vectors andthe one or more second vectors as a function of one or more of the Umatrix, the S matrix and the V matrix.

Clause 133143-13B. The device of clause 133143-1B, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of the sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, perform a saliency analysis with respect to the Smatrix to identify one or more U_(DIST) vectors of the U matrix and oneor more S_(DIST) vectors of the S matrix, and determine the one or morefirst vectors and the one or more second vectors by at least in partmultiplying the one or more U_(DIST) vectors by the one or more S_(DIST)vectors.

Clause 133143-14B. The device of clause 133143-1B, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of the sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and when determining the one or more firstvectors and the one or more second vectors, perform a saliency analysiswith respect to the S matrix to identify one or more VDIST vectors ofthe V matrix as at least one of the one or more first vectors and theone or more second vectors.

Clause 133143-15B. The device of clause 133143-1B, wherein the firstportion of the audio data occurs in time before the second portion ofthe audio data.

Clause 133143-16B. The device of clause 133143-1B, wherein the firstportion of the audio data occurs in time after the second portion of theaudio data.

Clause 133143-17B. The device of clause 133143-1B, wherein the one ormore processors are further configured to reorder at least one of theone or more first vectors based on the cross correlation to generate thereordered one or more first vectors, and when reordering the firstvectors, apply a fade-in/fade-out interpolation window between the oneor more first vectors to ensure a smooth transition when generating thereordered one or more first vectors.

Clause 133143-18B. The device of clause 133143-1B, wherein the one ormore processors are further configured to reorder the one or more firstvectors based on at least on the cross correlation to generate thereordered one or more first vectors, generate a bitstream to include thereordered one or more first vectors or an encoded version of thereordered one or more first vectors, and specify in the bitstream howthe one or more first vectors was reordered.

Clause 133143-19B. The device of clause 133143-1B, wherein the crosscorrelation facilitates extraction of the one or both of the one or morefirst vectors and the one or more second vectors in order to promoteaudio encoding of the one or both of the one or more first vectors andthe one or more second vectors.

FIG. 40D is a block diagram illustrating an example audio encodingdevice 510D that may perform various aspects of the techniques describedin this disclosure to compress spherical harmonic coefficientsdescribing two or three dimensional soundfields. The audio encodingdevice 510D may be similar to audio encoding device 510C in that audioencoding device 510D includes an audio compression unit 512, an audioencoding unit 514 and a bitstream generation unit 516. Moreover, theaudio compression unit 512 of the audio encoding device 510D may besimilar to that of the audio encoding device 510C in that the audiocompression unit 512 includes a decomposition unit 518.

The audio compression unit 512 of the audio encoding device 510D may,however, differ from the audio compression unit 512 of the audioencoding device 510C in that the soundfield component extraction unit520 includes an additional unit, denoted as quantization unit 534(“quant unit 534”). For this reason, the soundfield component extractionunit 520 of the audio encoding device 510D is denoted as the “soundfieldcomponent extraction unit 520D.”

The quantization unit 534 represents a unit configured to quantize theone or more V^(T) _(DIST) vectors 525E and/or the one or more V^(T)_(BG) vectors 525F to generate corresponding one or more V^(T) _(Q) _(—)_(DIST) vectors 525G and/or one or more V^(T) _(Q) _(—) _(BG) vectors525H. The quantization unit 534 may quantize (which is a signalprocessing term for mathematical rounding through elimination of bitsused to represent a value) the one or more V^(T) _(DIST) vectors 525E soas to reduce the number of bits that are used to represent the one ormore V^(T) _(DIST) vectors 525E in the bitstream 517. In some examples,the quantization unit 534 may quantize the 32-bit values of the one ormore V^(T) _(DIST) vectors 525E, replacing these 32-bit values withrounded 16-bit values to generate one or more V^(T) _(Q) _(—) _(DIST)vectors 525G. In this respect, the quantization unit 534 may operate ina manner similar to that described above with respect to quantizationunit 52 of the audio encoding device 20 shown in the example of FIG. 4.

Quantization of this nature may introduce error into the representationof the soundfield that varies according to the coarseness of thequantization. In other words, the more bits used to represent the one ormore V^(T) _(DIST) vectors 525E may result in less quantization error.The quantization error due to quantization of the V^(T) _(DIST) vectors525E (which may be denoted “E_(DIST)”) may be determined by subtractingthe one or more V^(T) _(DIST) vectors 525E from the one or more V^(T)_(Q) _(—) _(DIST) vectors 525G.

In accordance with the techniques described in this disclosure, theaudio encoding device 510D may compensate for one or more of theE_(DIST) quantization errors by projecting the E_(DIST) error into orotherwise modifying one or more of the U_(DIST)*S_(DIST) vectors 527 orthe background spherical harmonic coefficients 531 generated bymultiplying the one or more U_(BG) vectors 525D by the one or moreS_(BG) vectors 525B and then by the one or more V^(T) _(BG) vectors525F. In some examples, the audio encoding device 510D may onlycompensate for the E_(DIST) error in the U_(DIST)*S_(DIST) vectors 527.In other examples, the audio encoding device 510D may only compensatefor the E_(BG) error in the background spherical harmonic coefficients.In yet other examples, the audio encoding device 510D may compensate forthe E_(DIST) error in both the U_(DIST)*S_(DIST) vectors 527 and thebackground spherical harmonic coefficients.

In operation, the salient component analysis unit 524 may be configuredto output the one or more S_(DIST) vectors 525, the one or more S_(BG)vectors 525B, the one or more U_(DIST) vectors 525C, the one or moreU_(BG) vectors 525D, the one or more V^(T) _(DIST) vectors 525E and theone or more V^(T) _(BG) vectors 525F to the math unit 526. The salientcomponent analysis unit 524 may also output the one or more V^(T)_(DIST) vectors 525E to the quantization unit 534. The quantization unit534 may quantize the one or more V^(T) _(DIST) vectors 525E to generateone or more V^(T) _(Q) _(—) _(DIST) vectors 525G. The quantization unit534 may provide the one or more V^(T) _(Q) _(—) _(DIST) vectors 525G tomath unit 526, while also providing the one or more V^(T) _(Q) _(—)_(DIST) vectors 525G to the vector reordering unit 532 (as describedabove). The vector reorder unit 532 may operate with respect to the oneor more V^(T) _(Q) _(—) _(DIST) vectors 525G in a manner similar to thatdescribed above with respect to the V^(T) _(DIST) vectors 525E.

Upon receiving these vectors 525-525G (“vectors 525”), the math unit 526may first determine distinct spherical harmonic coefficients thatdescribe distinct components of the soundfield and background sphericalharmonic coefficients that described background components of thesoundfield. The matrix math unit 526 may be configured to determine thedistinct spherical harmonic coefficients by multiplying the one or moreU_(DIST) 525C vectors by the one or more S_(DIST) vectors 525A and thenby the one or more V^(T) _(DIST) vectors 525E. The math unit 526 may beconfigured to determine the background spherical harmonic coefficientsby multiplying the one or more U_(BG) 525D vectors by the one or moreS_(BG) vectors 525A and then by the one or more V^(T) _(BG) vectors525E.

The math unit 526 may then determine one or more compensatedU_(DIST)*S_(DIST) vectors 527′ (which may be similar to theU_(DIST)*S_(DIST) vectors 527 except that these vectors include valuesto compensate for the E_(DIST) error) by performing a pseudo inverseoperation with respect to the one or more V^(T) _(Q) _(—) _(DIST)vectors 525G and then multiplying the distinct spherical harmonics bythe pseudo inverse of the one or more V^(T) _(Q) _(—) _(DIST) vectors525G. The vector reorder unit 532 may operate in the manner describedabove to generate reordered vectors 527′, which are then audio encodedby audio encoding unit 515A to generate audio encoded reordered vectors515′, again as described above.

The math unit 526 may next project the E_(DIST) error to the backgroundspherical harmonic coefficients. The math unit 526 may, to perform thisprojection, determine or otherwise recover the original sphericalharmonic coefficients 511 by adding the distinct spherical harmoniccoefficients to the background spherical harmonic coefficients. The mathunit 526 may then subtract the quantized distinct spherical harmoniccoefficients (which may be generated by multiplying the U_(DIST) vectors525C by the S_(DIST) vectors 525A and then by the V^(T) _(Q) _(—)_(DIST) vectors 525G) and the background spherical harmonic coefficientsfrom the spherical harmonic coefficients 511 to determine the remainingerror due to quantization of the V^(T) _(DIST) vectors 519. The mathunit 526 may then add this error to the quantized background sphericalharmonic coefficients to generate compensated quantized backgroundspherical harmonic coefficients 531′.

In any event, the order reduction unit 528A may perform as describedabove to reduce the compensated quantized background spherical harmoniccoefficients 531′ to reduced background spherical harmonic coefficients529′, which may be audio encoded by the audio encoding unit 514 in themanner described above to generate audio encoded reduced backgroundspherical harmonic coefficients 515B′.

In this way, the techniques may enable the audio encoding device 510D toquantizing one or more first vectors, such as V^(T) _(DIST) vectors525E, representative of one or more components of a soundfield andcompensate for error introduced due to the quantization of the one ormore first vectors in one or more second vectors, such as theU_(DIST)*S_(DIST) vectors 527 and/or the vectors of background sphericalharmonic coefficients 531, that are also representative of the same oneor more components of the soundfield.

Moreover, the techniques may provide this quantization errorcompensation in accordance with the following clauses.

Clause 133146-1B. A device, such as the audio encoding device 510D,comprising: one or more processors configured to quantize one or morefirst vectors representative of one or more distinct components of asound field, and compensate for error introduced due to the quantizationof the one or more first vectors in one or more second vectors that arealso representative of the same one or more distinct components of thesound field.

Clause 133146-2B. The device of clause 133146-1B, wherein the one ormore processors are configured to quantize one or more vectors from atranspose of a V matrix generated at least in part by performing asingular value decomposition with respect to a plurality of sphericalharmonic coefficients that describe the sound field.

Clause 133146-3B. The device of clause 133146-1B, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of a sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and wherein the one or more processors areconfigured to quantize one or more vectors from a transpose of the Vmatrix.

Clause 133146-4B. The device of clause 133146-1B, wherein the one ormore processors are configured to perform a singular value decompositionwith respect to a plurality of spherical harmonic coefficientsrepresentative of a sound field to generate a U matrix representative ofleft-singular vectors of the plurality of spherical harmoniccoefficients, an S matrix representative of singular values of theplurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, wherein the one or more processors are configuredto quantize one or more vectors from a transpose of the V matrix, andwherein the one or more processors are configured to compensate for theerror introduced due to the quantization in one or more U*S vectorscomputed by multiplying one or more U vectors of the U matrix by one ormore S vectors of the S matrix.

Clause 133146-5B. The device of clause 133146-1B, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of a sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, determine one or more U_(DIST) vectors of the Umatrix, each of which corresponds to one of the distinct components ofthe sound field, determine one or more S_(DIST) vectors of the S matrix,each of which corresponds to the same one of the distinct components ofthe sound field, and determine one or more V^(T) _(DIST) vectors of atranspose of the V matrix, each of which corresponds to the same one ofthe distinct components of the sound field,

wherein the one or more processors are configured to quantize the one ormore V^(T) _(DIST) vectors to generate one or more V^(T) _(Q) _(—)_(DIST) vectors, and wherein the one or more processors are configuredto compensate for the error introduced due to the quantization in one ormore U_(DIST)*S_(DIST) vectors computed by multiplying the one or moreU_(DIST) vectors of the U matrix by one or more S_(DIST) vectors of theS matrix so as to generate one or more error compensatedU_(DIST)*S_(DIST) vectors.

Clause 133146-6B. The device of clause 133146-5B, wherein the one ormore processors are configured to determine distinct spherical harmoniccoefficients based on the one or more U_(DIST) vectors, the one or moreS_(DIST) vectors and the one or more V^(T) _(DIST) vectors, and performa pseudo inverse with respect to the V^(T) _(Q) _(—) _(DIST) vectors todivide the distinct spherical harmonic coefficients by the one or moreV^(T) _(Q) _(—) _(DIST) vectors and thereby generate error compensatedone or more U_(C) _(—) _(DIST)*S_(C) _(—) _(DIST) vectors thatcompensate at least in part for the error introduced through thequantization of the V^(T) _(DIST) vectors.

Clause 133146-7B. The device of clause 133146-5B, wherein the one ormore processors are further configured to audio encode the one or moreerror compensated U_(DIST)*S_(DIST) vectors.

Clause 133146-8B. The device of clause 133146-1B, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of a sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, determine one or more U_(BG) vectors of the Umatrix that describe one or more background components of the soundfield and one or more U_(DIST) vectors of the U matrix that describe oneor more distinct components of the sound field, determine one or moreS_(BG) vectors of the S matrix that describe the one or more backgroundcomponents of the sound field and one or more S_(DIST) vectors of the Smatrix that describe the one or more distinct components of the soundfield, and determine one or more V^(T) _(DIST) vectors and one or moreV^(T) _(BG) vectors of a transpose of the V matrix, wherein the V^(T)_(DIST) vectors describe the one or more distinct components of thesound field and the V^(T) _(BG) describe the one or more backgroundcomponents of the sound field, wherein the one or more processors areconfigured to quantize the one or more V^(T) _(DIST) vectors to generateone or more V^(T) _(Q) _(—) _(DIST) vectors, and wherein the one or moreprocessors are further configured to compensate for at least a portionof the error introduced due to the quantization in background sphericalharmonic coefficients formed by multiplying the one or more U_(BG)vectors by the one or more S_(BG) vectors and then by the one or moreV^(T) _(BG) vectors so as to generate error compensated backgroundspherical harmonic coefficients.

Clause 133146-9B. The device of clause 133146-8B, wherein the one ormore processors are configured to determine the error based on the V^(T)_(DIST) vectors and one or more U_(DIST)*S_(DIST) vectors formed bymultiplying the U_(DIST) vectors by the S_(DIST) vectors, and add thedetermined error to the background spherical harmonic coefficients togenerate the error compensated background spherical harmoniccoefficients.

Clause 133146-10B. The device of clause 133146-8B, wherein the one ormore processors are further configured to audio encode the errorcompensated background spherical harmonic coefficients.

Clause 133146-11B. The device of clause 133146-1B,

wherein the one or more processors are configured to compensate for theerror introduced due to the quantization of the one or more firstvectors in one or more second vectors that are also representative ofthe same one or more components of the sound field to generate one ormore error compensated second vectors, and wherein the one or moreprocessors are further configured to generating a bitstream to includethe one or more error compensated second vectors and the quantized oneor more first vectors.

Clause 133146-12B. The device of clause 133146-1B, wherein the one ormore processors are configured to compensate for the error introduceddue to the quantization of the one or more first vectors in one or moresecond vectors that are also representative of the same one or morecomponents of the sound field to generate one or more error compensatedsecond vectors, and wherein the one or more processors are furtherconfigured to audio encode the one or more error compensated secondvectors, and generate a bitstream to include the audio encoded one ormore error compensated second vectors and the quantized one or morefirst vectors.

Clause 133146-1C. A device, such as the audio encoding device 510D,comprising: one or more processors configured to quantize one or morefirst vectors representative of one or more distinct components of asound field, and compensate for error introduced due to the quantizationof the one or more first vectors in one or more second vectors that arerepresentative of one or more background components of the sound field.

Clause 133146-2C. The device of clause 133146-1C, wherein the one ormore processors are configured to quantize one or more vectors from atranspose of a V matrix generated at least in part by performing asingular value decomposition with respect to a plurality of sphericalharmonic coefficients that describe the sound field.

Clause 133146-3C. The device of clause 133146-1C, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of a sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and wherein the one or more processors areconfigured to quantize one or more vectors from a transpose of the Vmatrix.

Clause 133146-4C. The device of clause 133146-1C, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of a sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, determine one or more U_(DIST) vectors of the Umatrix, each of which corresponds to one of the distinct components ofthe sound field, determine one or more S_(DIST) vectors of the S matrix,each of which corresponds to the same one of the distinct components ofthe sound field, and determine one or more V^(T) _(DIST) vectors of atranspose of the V matrix, each of which corresponds to the same one ofthe distinct components of the sound field, wherein the one or moreprocessors are configured to quantize the one or more V^(T) _(DIST)vectors to generate one or more V^(T) _(Q) _(—) _(DIST) vectors, andcompensate for at least a portion of the error introduced due to thequantization in one or more U_(DIST)*S_(DIST) vectors computed bymultiplying the one or more U_(DIST) vectors of the U matrix by one ormore S_(DIST) vectors of the S matrix so as to generate one or moreerror compensated U_(DIST)*S_(DIST) vectors.

Clause 133146-5C. The device of clause 133146-4C, wherein the one ormore processors are configured to determine distinct spherical harmoniccoefficients based on the one or more U_(DIST) vectors, the one or moreS_(DIST) vectors and the one or more V^(T) _(DIST) vectors, and performa pseudo inverse with respect to the V^(T) _(Q) _(—) _(DIST) vectors todivide the distinct spherical harmonic coefficients by the one or moreV^(T) _(Q) _(—) _(DIST) vectors and thereby generate one or more U_(C)_(—) _(DIST)*S_(C) _(—) _(DIST) vectors that compensate at least in partfor the error introduced through the quantization of the V^(T) _(DIST)vectors.

Clause 133146-6C. The device of clause 133146-4C, wherein the one ormore processors are further configured to audio encode the one or moreerror compensated U_(DIST)*S_(DIST) vectors.

Clause 133146-7C. The device of clause 133146-1C, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to a plurality of spherical harmoniccoefficients representative of a sound field to generate a U matrixrepresentative of left-singular vectors of the plurality of sphericalharmonic coefficients, an S matrix representative of singular values ofthe plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, determine one or more U_(BG) vectors of the Umatrix that describe one or more background components of the soundfield and one or more U_(DIST) vectors of the U matrix that describe oneor more distinct components of the sound field, determine one or moreS_(BG) vectors of the S matrix that describe the one or more backgroundcomponents of the sound field and one or more S_(DIST) vectors of the Smatrix that describe the one or more distinct components of the soundfield, and determine one or more V^(T) _(DIST) vectors and one or moreV^(T) _(BG) vectors of a transpose of the V matrix, wherein the V^(T)_(DIST) vectors describe the one or more distinct components of thesound field and the V^(T) _(BG) describe the one or more backgroundcomponents of the sound field, wherein the one or more processors areconfigured to quantize the one or more V^(T) _(DIST) vectors to generateone or more V^(T) _(Q) _(—) _(DIST) vectors, and wherein the one or moreprocessors are configured to compensate for the error introduced due tothe quantization in background spherical harmonic coefficients formed bymultiplying the one or more U_(BG) vectors by the one or more S_(BG)vectors and then by the one or more V^(T) _(BG) vectors so as togenerate error compensated background spherical harmonic coefficients.

Clause 133146-8C. The device of clause 133146-7C, wherein the one ormore processors are configured to determine the error based on the V^(T)_(DIST) vectors and one or more U_(DIST)*S_(DIST) vectors formed bymultiplying the U_(DIST) vectors by the S_(DIST) vectors, and add thedetermined error to the background spherical harmonic coefficients togenerate the error compensated background spherical harmoniccoefficients.

Clause 133146-9C. The device of clause 133146-7C, wherein the one ormore processors are further configured to audio encode the errorcompensated background spherical harmonic coefficients.

Clause 133146-10C. The device of clause 133146-1C, wherein the one ormore processors are further configured to compensate for the errorintroduced due to the quantization of the one or more first vectors inone or more second vectors that are also representative of the same oneor more components of the sound field to generate one or more errorcompensated second vectors, and generate a bitstream to include the oneor more error compensated second vectors and the quantized one or morefirst vectors.

Clause 133146-11C. The device of clause 133146-1C, wherein the one ormore processors are further configured to compensate for the errorintroduced due to the quantization of the one or more first vectors inone or more second vectors that are also representative of the same oneor more components of the sound field to generate one or more errorcompensated second vectors, audio encode the one or more errorcompensated second vectors, and generate a bitstream to include theaudio encoded one or more error compensated second vectors and thequantized one or more first vectors.

In other words, when using frame based SVD (or related methods such asKLT & PCA) decomposition on HoA signals for the purpose of bandwidthreduction, the techniques described in this disclosure may enable theaudio encoding device 10D to quantize the first few vectors of the Umatrix (multiplied by the corresponding singular values of the S matrix)as well as the corresponding vectors of the V vector. This will comprisethe ‘foreground’ or ‘distinct’ components of the soundfield. Thetechniques may then enable the audio encoding device 510D to code theU*S vectors using a ‘black-box’ audio-coding engine, such as an AACencoder. The V vector may either be scalar or vector quantized.

In addition, some of the remaining vectors in the U matrix may bemultiplied with the corresponding singular values of the S matrix and Vmatrix and also coded using a ‘black-box’ audio-coding engine. Thesewill comprise the ‘background’ components of the soundfield. A simple 16bit scalar quantization of the V vectors may result in approximately 80kbps overhead for 4th order (25 coefficients) and 160 kbps for 6th order(49 coefficients). More coarse quantization may result in largerquantization errors. The techniques described in this disclosure maycompensate for the quantization error of the V vectors—by ‘projecting’the quantization error of the V vector onto the foreground andbackground components.

The techniques in this disclosure may include calculating a quantizedversion of the actual V vector. This quantized V vector may be called V′(where V′=V+e). The underlying HoA signal—for the foregroundcomponents—the techniques are attempting to recreate is given byH_f=USV, where the U, S and V only contain the foreground elements. Forthe purpose of this discussion, US will be replaced by a single set ofvectors U. Thus, H_f=UV. Given that we have an erroneous V′, thetechniques are attempting to recreate H_f as closely as possible. Thus,the techniques may enable the audio encoding device 10D to find U′ suchthat H_f=U′V′. The audio encoding device 10D may use a pseudo inversemethodology that allows U′=H_f [V]̂(−1). Using the so-called ‘blackbox’audio-coding engine to code U′, the techniques may minimize the error inH, caused by what may be referred to as the erroneous V′ vector.

In a similar way, the techniques may also enable the audio encodingdevice to project the error due to quantizing V into the backgroundelements. The audio encoding device 510D may be configured to recreatethe total HoA signal which is a combination of foreground and backgroundHoA signals, i.e., H=H_f+H_b. This can again be modelled as H=H_f+e+H_b,due to the quantization error in V′. In this way, instead of putting theH_b through the ‘black-box audio-coder’, we put (e+H_b) through theaudio-coder, in effect compensating for the error in V′. In practice,this compensates for the error only up-to the order determined by theaudio encoding device 510D to send for the background elements.

FIG. 40E is a block diagram illustrating an example audio encodingdevice 510E that may perform various aspects of the techniques describedin this disclosure to compress spherical harmonic coefficientsdescribing two or three dimensional soundfields. The audio encodingdevice 510E may be similar to audio encoding device 510D in that audioencoding device 510E includes an audio compression unit 512, an audioencoding unit 514 and a bitstream generation unit 516. Moreover, theaudio compression unit 512 of the audio encoding device 510E may besimilar to that of the audio encoding device 510D in that the audiocompression unit 512 includes a decomposition unit 518.

The audio compression unit 512 of the audio encoding device 510E may,however, differ from the audio compression unit 512 of the audioencoding device 510D in that the math unit 526 of soundfield componentextraction unit 520 performs additional aspects of the techniquesdescribed in this disclosure to further reduce the V matrix 519A priorto including the reduced version of the transpose of the V matrix 519Ain the bitstream 517. For this reason, the soundfield componentextraction unit 520 of the audio encoding device 510E is denoted as the“soundfield component extraction unit 520E.”

In the example of FIG. 40E, the order reduction unit 528, rather thanforward the reduced background spherical harmonic coefficients 529′ tothe audio encoding unit 514, returns the reduced background sphericalharmonic coefficients 529′ to the math unit 526. As noted above, thesereduced background spherical harmonic coefficients 529′ may have beenreduced by removing those of the coefficients corresponding to sphericalbasis functions having one or more identified orders and/or sub-orders.The reduced order of the reduced background spherical harmoniccoefficients 529′ may be denoted by the variable N_(BG).

Given that the soundfield component extraction unit 520E may not performorder reduction with respect to the reordered one or moreU_(DIST)*S_(DIST) vectors 533′, the order of this decomposition of thespherical harmonic coefficients describing distinct components of thesoundfield (which may be denoted by the variable N_(DIST)) may begreater than the background order, N_(BG). In other words, N_(BG) maycommonly be less than N_(DIST). One possible reason that N_(BG) may beless than N_(DIST) is that it is assumed that the background componentsdo not have much directionality such that higher order spherical basisfunctions are not required, thereby enabling the order reduction andresulting in N_(BG) being less than N_(DIST).

Given that the reordered one or more V^(T) _(Q) _(—) _(DIST) vectors 539were previously sent openly, without audio encoding these vectors 539 inthe bitstream 517, as shown in the examples of FIGS. 40A-40D, thereordered one or more V^(T) _(Q) _(—) _(DIST) vectors 539 may consumeconsiderable bandwidth. As one example, each of the reordered one ormore V^(T) _(Q) _(—) _(DIST) vectors 539, when quantized to 16-bitscalar values, may consume approximately 20 Kbps for fourth orderAmbisonics audio data (where each vector has 25 coefficients) and 40Kbps for sixth order Ambisonics audio data (where each vector has 49coefficients).

In accordance with various aspects of the techniques described in thisdisclosure, the soundfield component extraction unit 520E may reduce theamount of bits that need to be specified for spherical harmoniccoefficients or decompositions thereof, such as the reordered one ormore V^(T) _(Q) _(—) _(DIST) vectors 539. In some examples, the mathunit 526 may determine, based on the order reduced spherical harmoniccoefficients 529′, those of the reordered V^(T) _(Q) _(—) _(DIST)vectors 539 that are to be removed and recombined with the order reducedspherical harmonic coefficients 529′ and those of the reordered V^(T)_(Q) _(—) _(DIST) vectors 539 that are to form the V^(T) _(SMALL)vectors 521. That is, the math unit 526 may determine an order of theorder reduced spherical harmonic coefficients 529′, where this order maybe denoted N_(BG). The reordered V^(T) _(Q) _(—) _(DIST) vectors 539 maybe of an order denoted by the variable N_(DIST), where N_(DIST) isgreater than the order N_(BG).

The math unit 526 may then parse the first N_(BG) orders of thereordered V^(T) _(Q) _(—) _(DIST) vectors 539, removing those vectorsspecifying decomposed spherical harmonic coefficients corresponding tospherical basis functions having an order less than or equal to N_(BG).These removed reordered V^(T) _(Q) _(—) _(DIST) vectors 539 may then beused to form intermediate spherical harmonic coefficients by multiplyingthose of the reordered U_(DIST)*S_(DIST) vectors 533′ representative ofdecomposed versions of the spherical harmonic coefficients 511corresponding to spherical basis functions having an order less than orequal to N_(BG) by the removed reordered V^(T) _(Q) _(—) _(DIST) vectors539 to form the intermediate distinct spherical harmonic coefficients.The math unit 526 may then generate modified background sphericalharmonic coefficients 537 by adding the intermediate distinct sphericalharmonic coefficients to the order reduced spherical harmoniccoefficients 529′. The math unit 526 may then pass this modifiedbackground spherical harmonic coefficients 537 to the audio encodingunit 514, which audio encodes these coefficients 537 to form audioencoded modified background spherical harmonic coefficients 515B′.

The math unit 526 may then pass the one or more V^(T) _(SMALL) vectors521, which may represent those vectors 539 representative of adecomposed form of the spherical harmonic coefficients 511 correspondingto spherical basis functions having an order greater than N_(BG) andless than or equal to N_(DIST). In this respect, the math unit 526 mayperform operations similar to the coefficient reduction unit 46 of theaudio encoding device 20 shown in the example of FIG. 4. The math unit526 may pass the one or more V^(T) _(SMALL) vectors 521 to the bitstreamgeneration unit 516, which may generate the bitstream 517 to include theV^(T) _(SMALL) vectors 521 often in their original non-audio encodedform. Given that V^(T) _(SMALL) vectors 521 includes less vectors thanthe reordered V^(T) _(Q) _(—) _(DIST) vectors 539, the techniques mayfacilitate allocation of less bits to the reordered V^(T) _(Q) _(—)_(DIST) vectors 539 by only specifying the V^(T) _(SMALL) vectors 521 inthe bitstream 517.

While shown as not being quantized, in some instances, the audioencoding device 510E may quantize V^(T) _(BG) vectors 525F. In someinstances, such as when audio encoding unit 514 is not used to compressbackground spherical harmonic coefficients, the audio encoding device510E may quantize the V^(T) _(BG) vectors 525F.

In this way, the techniques may enable the audio encoding device 510E todetermine at least one of one or more vectors decomposed from sphericalharmonic coefficients to be recombined with background sphericalharmonic coefficients to reduce an amount of bits required to beallocated to the one or more vectors in a bitstream, wherein thespherical harmonic coefficients describe a soundfield, and wherein thebackground spherical harmonic coefficients described one or morebackground components of the same soundfield.

That is, the techniques may enable the audio encoding device 510E to beconfigured in a manner indicated by the following clauses.

Clause 133149-1A. A device, such as the audio encoding device 510E,comprising: one or more processors configured to determine at least oneof one or more vectors decomposed from spherical harmonic coefficientsto be recombined with background spherical harmonic coefficients toreduce an amount of bits required to be allocated to the one or morevectors in a bitstream, wherein the spherical harmonic coefficientsdescribe a sound field, and wherein the background spherical harmoniccoefficients described one or more background components of the samesound field.

Clause 133149-2A. The device of clause 133149-1A, wherein the one ormore processors are further configured to generate a reduced set of theone or more vectors by removing the determined at least one of the oneor more vectors from the one or more vectors.

Clause 133149-3A. The device of clause 133149-1A, wherein the one ormore processors are further configured to generate a reduced set of theone or more vectors by removing the determined at least one of the oneor more vectors from the one or more vectors, recombine the removed atleast one of the one or more vectors with the background sphericalharmonic coefficients to generate modified background spherical harmoniccoefficients, and generate the bitstream to include the reduced set ofthe one or more vectors and the modified background spherical harmoniccoefficients.

Clause 133149-4A. The device of clause 133149-3A, wherein the reducedset of the one or more vectors is included in the bitstream withoutfirst being audio encoded.

Clause 133149-5A. The device of clause 133149-1A, wherein the one ormore processors are further configured to generate a reduced set of theone or more vectors by removing the determined at least one of the oneor more vectors from the one or more vectors, recombine the removed atleast one of the one or more vectors with the background sphericalharmonic coefficients to generate modified background spherical harmoniccoefficients, audio encoding the modified background spherical harmoniccoefficients, and generate the bitstream to include the reduced set ofthe one or more vectors and the audio encoded modified backgroundspherical harmonic coefficients.

Clause 133149-6A. The device of clause 133149-1A, wherein the one ormore vectors comprise vectors representative of at least some aspect ofone or more distinct components of the sound field.

Clause 133149-7A. The device of clause 133149-1A, wherein the one ormore vectors comprise one or more vectors from a transpose of a V matrixgenerated at least in part by performing a singular value decompositionwith respect to the plurality of spherical harmonic coefficients thatdescribe the sound field.

Clause 133149-8A. The device of clause 133149-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients to generate a U matrix representative of left-singularvectors of the plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, and wherein the one ormore vectors comprises one or more vectors from a transpose of the Vmatrix.

Clause 133149-9A. The device of clause 133149-1A, wherein the one ormore processors are further configured to perform an order reductionwith respect to the background spherical harmonic coefficients so as toremove those of the background spherical harmonic coefficientscorresponding to spherical basis functions having an identified orderand/or sub-order, wherein the background spherical harmonic coefficientscorrespond to an order N_(BG).

Clause 133149-10A. The device of clause 133149-1A, wherein the one ormore processors are further configured to perform an order reductionwith respect to the background spherical harmonic coefficients so as toremove those of the background spherical harmonic coefficientscorresponding to spherical basis functions having an identified orderand/or sub-order, wherein the background spherical harmonic coefficientscorrespond to an order N_(BG) that is less than the order of distinctspherical harmonic coefficients, N_(DIST), and wherein the distinctspherical harmonic coefficients represent distinct components of thesound field.

Clause 133149-11A. The device of clause 133149-1A, wherein the one ormore processors are further configured to perform an order reductionwith respect to the background spherical harmonic coefficients so as toremove those of the background spherical harmonic coefficientscorresponding to spherical basis functions having an identified orderand/or sub-order, wherein the background spherical harmonic coefficientscorrespond to an order N_(BG) that is less than the order of distinctspherical harmonic coefficients, N_(DIST), and wherein the distinctspherical harmonic coefficients represent distinct components of thesound field and are not subject to the order reduction.

Clause 133149-12A. The device of clause 133149-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients to generate a U matrix representative of left-singularvectors of the plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, and determine one ormore V^(T) _(DIST) vectors and one or more V^(T) _(BG) of a transpose ofthe V matrix, the one or more V^(T) _(DIST) vectors describe one or moredistinct components of the sound field and the one or more V^(T) _(BG)vectors describe one or more background components of the sound field,and wherein the one or more vectors includes the one or more V^(T)_(DIST) vectors.

Clause 133149-13A. The device of clause 133149-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients to generate a U matrix representative of left-singularvectors of the plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, determine one or moreV^(T) _(DIST) vectors and one or more V^(T) _(BG) of a transpose of theV matrix, the one or more V_(DIST) vectors describe one or more distinctcomponents of the sound field and the one or more V_(BG) vectorsdescribe one or more background components of the sound field, andquantize the one or more V^(T) _(DIST) vectors to generate one or moreV^(T) _(Q) _(—) _(DIST) vectors, and wherein the one or more vectorsincludes the one or more V^(T) _(Q) _(—) _(DIST) vectors.

Clause 133149-14A. The device of either of clause 133149-12A or clause133149-13A, wherein the one or more processors are further configured todetermine one or more U_(DIST) vectors and one or more U_(BG) vectors ofthe U matrix, the one or more U_(DIST) vectors describe the one or moredistinct components of the sound field and the one or more U_(BG)vectors describe the one or more background components of the soundfield, and determine one or more S_(DIST) vectors and one or more S_(BG)vectors of the S matrix, the one or more S_(DIST) vectors describe theone or more distinct components of the sound field and the one or moreS_(BG) vectors describe the one or more background components of thesound field.

Clause 133149-15A. The device of clause 133149-14A, wherein the one ormore processors are further configured to determine the backgroundspherical harmonic coefficients as a function of the one or more U_(BG)vectors, the one or more S_(BG) vectors, and the one or more V^(T)_(BG), perform order reduction with respect to the background sphericalharmonic coefficients to generate reduced background spherical harmoniccoefficients having an order equal to N_(BG), multiply the one or moreU_(DIST) by the one or more S_(DIST) vectors to generate one or moreU_(DIST)*S_(DIST) vectors, remove the determined at least one of the oneor more vectors from the one or more vectors to generate a reduced setof the one or more vectors, multiply the one or more U_(DIST)*S_(DIST)vectors by the removed at least one of the one or more V^(T) _(DIST)vectors or the one or more V^(T) _(Q) _(—) _(DIST) vectors to generateintermediate distinct spherical harmonic coefficients, and add theintermediate distinct spherical harmonic coefficients to the backgroundspherical harmonic coefficient to recombine the removed at least one ofthe one or more V^(T) _(DIST) vectors or the one or more V^(T) _(Q) _(—)_(DIST) vectors with the background spherical harmonic coefficients.

Clause 133149-16A. The device of clause 133149-14A, wherein the one ormore processors are further configured to determine the backgroundspherical harmonic coefficients as a function of the one or more U_(BG)vectors, the one or more S_(BG) vectors, and the one or more V^(T)_(BG), perform order reduction with respect to the background sphericalharmonic coefficients to generate reduced background spherical harmoniccoefficients having an order equal to N_(BG), multiply the one or moreU_(DIST) by the one or more S_(DIST) vectors to generate one or moreU_(DIST)*S_(DIST) vectors, reorder the one or more U_(DIST)*S_(DIST)vectors to generate reordered one or more U_(DIST)*S_(DIST) vectors,remove the determined at least one of the one or more vectors from theone or more vectors to generate a reduced set of the one or morevectors, multiply the reordered one or more U_(DIST)*S_(DIST) vectors bythe removed at least one of the one or more V^(T) _(DIST) vectors or theone or more V^(T) _(Q) _(—) _(DIST) vectors to generate intermediatedistinct spherical harmonic coefficients, and add the intermediatedistinct spherical harmonic coefficients to the background sphericalharmonic coefficient to recombine the removed at least one of the one ormore V^(T) _(DIST) vectors or the one or more V^(T) _(Q) _(—) _(DIST)vectors with the background spherical harmonic coefficients.

Clause 133149-17A. The device of either of clause 133149-15A or clause133149-16A, wherein the one or more processors are further configured toaudio encode the background spherical harmonic coefficients after addingthe intermediate distinct spherical harmonic coefficients to thebackground spherical harmonic coefficients, and generate the bitstreamto include the audio encoded background spherical harmonic coefficients.

Clause 133149-18A. The device of clause 133149-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients to generate a U matrix representative of left-singularvectors of the plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients, determine one or moreV^(T) _(DIST) vectors and one or more V^(T) _(BG) of a transpose of theV matrix, the one or more V_(DIST) vectors describe one or more distinctcomponents of the sound field and the one or more V_(BG) vectorsdescribe one or more background components of the sound field, quantizethe one or more V^(T) _(DIST) vectors to generate one or more V^(T) _(Q)_(—) _(DIST) vectors, and reorder the one or more V^(T) _(Q) _(—)_(DIST) vectors to generate reordered one or more V^(T) _(Q) _(—)_(DIST) vectors, and wherein the one or more vectors includes thereordered one or more V^(T) _(Q) _(—) _(DIST) vectors.

FIG. 40F is a block diagram illustrating example audio encoding device510F that may perform various aspects of the techniques described inthis disclosure to compress spherical harmonic coefficients describingtwo or three dimensional soundfields. The audio encoding device 510F maybe similar to audio encoding device 510C in that audio encoding device510F includes an audio compression unit 512, an audio encoding unit 514and a bitstream generation unit 516. Moreover, the audio compressionunit 512 of the audio encoding device 510F may be similar to that of theaudio encoding device 510C in that the audio compression unit 512includes a decomposition unit 518 and a vector reorder unit 532, whichmay operate similarly to like units of the audio encoding device 510C.In some examples, audio encoding device 510F may include a quantizationunit 534, as described with respect to FIGS. 40D and 40E, to quantizeone or more vectors of any of the U_(DIST) vectors 525C, the U_(BG)vectors 525D, the V^(T) _(DIST) vectors 525E, and the V^(T) _(BG)vectors 525J.

The audio compression unit 512 of the audio encoding device 510F may,however, differ from the audio compression unit 512 of the audioencoding device 510C in that the salient component analysis unit 524 ofthe soundfield component extraction unit 520 may perform a contentanalysis to select the number of foreground components, denoted as D inthe context of FIGS. 40A-40J. In other words, the salient componentanalysis unit 524 may operate with respect to the U, S and V matrixes519 in the manner described above to identify whether the decomposedversions of the spherical harmonic coefficients were generated fromsynthetic audio objects or from a natural recording with a microphone.The salient component analysis unit 524 may then determine D based onthis synthetic determination.

Moreover, the audio compression unit 512 of the audio encoding device510F may differ from the audio compression unit 512 of the audioencoding device 510C in that the soundfield component extraction unit520 may include an additional unit, an order reduction and energypreservation unit 528F (illustrated as “order red. and energy prsv. unit528F”). For these reasons, the soundfield component extraction unit 520of the audio encoding device 510F is denoted as the “soundfieldcomponent extraction unit 520F”.

The order reduction and energy preservation unit 528F represents a unitconfigured to perform order reduction of the background components ofV_(BG) matrix 525H representative of the right-singular vectors of theplurality of spherical harmonic coefficients 511 while preserving theoverall energy (and concomitant sound pressure) of the soundfielddescribed in part by the full V_(BG) matrix 525H. In this respect, theorder reduction and energy preservation unit 528F may perform operationssimilar to those described above with respect to the backgroundselection unit 48 and the energy compensation unit 38 of the audioencoding device 20 shown in the example of FIG. 4.

The full V_(BG) matrix 525H has dimensionality (N+1)²×(N+1)²−D, where Drepresents a number of principal components or, in other words, singularvalues that are determined to be salient in terms of being distinctaudio components of the soundfield. That is, the full V_(BG) matrix 525Hincludes those singular values that are determined to be background (BG)or, in other words, ambient or non-distinct-audio components of thesoundfield.

As described above with respect to, e.g., order reduction unit 524 ofFIGS. 40B-40E, the order reduction and energy preservation unit 528F mayremove, eliminate or otherwise delete (often by zeroing out) those ofthe background singular values of the V_(BG) matrix 525H correspondingto higher order spherical basis functions. The order reduction andenergy preservation unit 528F may output a reduced version of the V_(BG)matrix 525H (denoted as “V_(BG)′ matrix 525I” and referred tohereinafter as “reduced V_(BG)′ matrix 525I”) to transpose unit 522. Thereduced V_(BG)′ matrix 525I may have dimensionality ({tilde over(η)}+1)²×(N+1)²−D, with {tilde over (η)}<N. Transpose unit 522 applies atranspose operation to the reduced V_(BG)′ matrix 525I to generate andoutput a transposed reduced V^(T) _(BG)′ matrix 525J to math unit 526,which may operate to reconstruct the background sound components of thesoundfield by computing U_(BG)*S_(BG)*V^(T) _(BG) using the U_(BG)matrix 525D, the S_(BG) matrix 525B, and transposed reduced V^(T) _(BG)′matrix 525J.

In accordance with techniques described herein, the order reduction andenergy preservation unit 528F is further configured to compensate forpossible reductions in the overall energy of the background soundcomponents of the soundfield caused by reducing the order of the fullV_(BG) matrix 525H to generate the reduced V_(BG)′ matrix 525I. In someexamples, the order reduction and energy preservation unit 528Fcompensates by determining a compensation gain in the form ofamplification values to apply to each of the (N+1)²−D columns of reducedV_(BG)′ matrix 525I in order to increase the root mean-squared (RMS)energy of reduced V_(BG)′ matrix 525I to equal or at least more nearlyapproximate the RMS of the full V_(BG) matrix 525H, prior to outputtingreduced V_(BG)′ matrix 525I to transpose unit 522.

In some instances, order reduction and energy preservation unit 528F maydetermine the RMS energy of each column of the full V_(BG) matrix 525Hand the RMS energy of each column of the reduced V_(BG)′ matrix 525I,then determine the amplification value for the column as the ratio ofthe former to the latter, as indicated in the following equation:

∝=v _(BG) /v _(BG)′,

where ∝ is the amplification value for a column, v_(BG) represents asingle column of the V_(BG) matrix 525H, and v_(BG)′ represents thecorresponding single column of the V_(BG)′ matrix 525I. This may berepresented in matrix notation as:

A=V _(BG) ^(RMS) /V _(BG)′^(RMS),

A=[∝ ₁ . . . ∝_((N+1)) ₂ _(−D)],

where V_(BG) ^(RMS) is an RMS vector having elements denoting the RMS ofeach column of V_(BG) matrix 525H, V_(BG)′^(RMS) is an RMS vector havingelements denoting the RMS of each column of reduced V_(BG)′ matrix 525I,and A is an amplification value vector having elements for each columnof V_(BG) matrix 525H. The order reduction and energy preservation unit528F applies a scalar multiplication to each column of reduced V_(BG)matrix 525I using the corresponding amplification value, ∝, or in vectorform:

V _(BG) ″=V _(BG) ′A ^(T)

where V_(BG)″ represents a reduced V_(BG)′ matrix 525I including energycompensation. The order reduction and energy preservation unit 528F mayoutput reduced V_(BG)′ matrix 525I including energy compensation totranspose unit 522 to equalize (or nearly equalize) the RMS of reducedV_(BG)′ matrix 525I with that of full V_(BG) matrix 525H. The outputdimensionality of reduced V_(BG)′ matrix 525I including energycompensation may be (ñ+1)²×(N+1)²−D.

In some examples, to determine each RMS of respective columns of reducedV_(BG)′ matrix 525I and full V_(BG) matrix 525H, the order reduction andenergy preservation unit 528F may first apply a reference sphericalharmonics coefficients (SHC) renderer to the columns. Application of thereference SHC renderer by the order reduction and energy preservationunit 528F allows for determination of RMS in the SHC domain to determinethe energy of the overall soundfield described by each column of theframe represented by reduced V_(BG)′ matrix 525I and full V_(BG) matrix525H. Thus, in such examples, the order reduction and energypreservation unit 528F may apply the reference SHC renderer to eachcolumn of the full V_(BG) matrix 525H and to each reduced column of thereduced V_(BG)′ matrix 525I, determine respective RMS values for thecolumn and the reduced column, and determine the amplification value forthe column as the ratio of the RMS value for the column to the RMS valueto the reduced column. In some examples, order reduction to reducedV_(BG)′ matrix 525I proceeds column-wise coincident to energypreservation. This may be expressed in pseudocode as follows:

R = ReferenceRenderer; for m = numDist+1 : numChannels  fullV = V(:,m);//takes one column of V => fullV  reducedV =[fullV(1:numBG);zeros(numChannels−numBG,1)];  alpha=sqrt( sum((fullV’*R).{circumflexover ( )}2)/sum((reducedV’*R).{circumflex over ( )}2) );  ifisnan(alpha) || isinf(alpha), alpha = 1; end;  V_out(:,m) = reducedV *alpha; end

In the above pseudocode, numChannels may represent (N+1)²−D, numBG mayrepresent (ñ+1)², V may represent V_(BG) matrix 525H, and V_out mayrepresent reduced V_(BG)′ matrix 525I, and R may represent the referenceSHC renderer of the order reduction and energy preservation unit 528F.The dimensionality of V may be (N+1)²×(N+1)²−D and the dimensionality ofV_out may be (ñ+1)²×(N+1)²−D.

As a result, the audio encoding device 510F may, when representing theplurality of spherical harmonic coefficients 511, reconstruct thebackground sound components using an order-reduced V_(BG)′ matrix 525Ithat includes compensation for energy that may be lost as a result tothe order reduction process.

FIG. 40G is a block diagram illustrating example audio encoding device510G that may perform various aspects of the techniques described inthis disclosure to compress spherical harmonic coefficients describingtwo or three dimensional soundfields. In the example of FIG. 40G, theaudio encoding device 510G includes a soundfield component extractionunit 520F. In turn, the soundfield component extraction unit 520Fincludes a salient component analysis unit 524G.

The audio compression unit 512 of the audio encoding device 510G may,however, differ from the audio compression unit 512 of the audioencoding device 10F in that the audio compression unit 512 of the audioencoding device 510G includes a salient component analysis unit 524G.The salient component analysis unit 524G may represent a unit configuredto determine saliency or distinctness of audio data representing asoundfield, using directionality-based information associated with theaudio data.

While energy-based determinations may improve rendering of a soundfielddecomposed by SVD to identify distinct audio components of thesoundfield, energy-based determinations may also cause a device toerroneously identify background audio components as distinct audiocomponents, in cases where the background audio components exhibit ahigh energy level. That is, a solely energy-based separation of distinctand background audio components may not be robust, as energetic (e.g.,louder) background audio components may be incorrectly identified asbeing distinct audio components. To more robustly distinguish betweendistinct and background audio components of the soundfield, variousaspects of the techniques described in this disclosure may enable thesalient component analysis unit 524G to perform a directionality-basedanalysis of the SHC 511 to separate distinct and background audiocomponents from decomposed versions of the SHC 511.

The salient component analysis unit 524G may, in the example of FIG.40H, represent a unit configured or otherwise operable to separatedistinct (or foreground) elements from background elements included inone or more of the V matrix 519, the S matrix 519B, and the U matrix519C, similar to the salient component analysis units 524 of previouslydescribed audio encoding devices 510-510F. According to some SVD-basedtechniques, the most energetic components (e.g., the first few vectorsof one or more of the V, S and U matrices 519-519C or a matrix derivedtherefrom) may be treated as distinct components. However, the mostenergetic components (which are represented by vectors) of one or moreof the matrices 519-519C may not, in all scenarios, represent thecomponents/signals that are the most directional.

Unlike the previously described salient component analysis units 524,the salient component analysis unit 524G may implement one or moreaspects of the techniques described herein to identify foregroundelements based on the directionality of the vectors of one or more ofthe matrices 519-519C or a matrix derived therefrom. In some examples,the salient component analysis unit 524G may identify or select asdistinct audio components (where the components may also be referred toas “objects”), one or more vectors based on both energy anddirectionality of the vectors. For instance, the salient componentanalysis unit 524G may identify those vectors of one or more of thematrices 519-519C (or a matrix derived therefrom) that display both highenergy and high directionality (e.g., represented as a directionalityquotient) as distinct audio components. As a result, if the salientcomponent analysis unit 524G determines that a particular vector isrelatively less directional when compared to other vectors of one ormore of the matrices 519-519C (or a matrix derived therefrom), thenregardless of the energy level associated with the particular vector,the salient component analysis unit 524G may determine that theparticular vector represents background (or ambient) audio components ofthe soundfield represented by the SHC 511. In this respect, the salientcomponent analysis unit 524G may perform operations similar to thosedescribed above with respect to the soundfield analysis unit 44 of theaudio encoding device 20 shown in the example of FIG. 4.

In some implementations, the salient component analysis unit 524G mayidentify distinct audio objects (which, as noted above, may also bereferred to as “components”) based on directionality, by performing thefollowing operations. The salient component analysis unit 524G maymultiply (e.g., using one or more matrix multiplication processes) the Vmatrix 519A by the S matrix 519B. By multiplying the V matrix 519A andthe S matrix 519B, the salient component analysis unit 524G may obtain aVS matrix. Additionally, the salient component analysis unit 524G maysquare (i.e., exponentiate by a power of two) at least some of theentries of each of the vectors (which may be a row) of the VS matrix. Insome instances, the salient component analysis unit 524G may sum thosesquared entries of each vector that are associated with an order greaterthan 1. As one example, if each vector of the matrix includes 25entries, the salient component analysis unit 524G may, with respect toeach vector, square the entries of each vector beginning at the fifthentry and ending at the twenty-fifth entry, summing the squared entriesto determine a directionality quotient (or a directionality indicator).Each summing operation may result in a directionality quotient for acorresponding vector. In this example, the salient component analysisunit 524G may determine that those entries of each row that areassociated with an order less than or equal to 1, namely, the firstthrough fourth entries, are more generally directed to the amount ofenergy and less to the directionality of those entries. That is, thelower order ambisonics associated with an order of zero or onecorrespond to spherical basis functions that, as illustrated in FIG. 1and FIG. 2, do not provide much in terms of the direction of thepressure wave, but rather provide some volume (which is representativeof energy).

The operations described in the example above may also be expressedaccording to the following pseudo-code. The pseudo-code below includesannotations, in the form of comment statements that are included withinconsecutive instances of the character strings “/*” and “*/” (withoutquotes).

  [U,S,V] = svd(audioframe,‘ecom’);   VS = V*S;   /* The next line isdirected to analyzing each row independently, and summing the values inthe first (as one example) row from the fifth entry to the twenty-fifthentry to determine a directionality quotient or directionality metricfor a corresponding vector. Square the entries before summing. Theentries in each row that are associated with an order greater than 1 areassociated with higher order ambisonics, and are thus more likely to bedirectional. */   sumVS = sum(VS(5:end,:).{circumflex over ( )}2,1);  /* The next line is directed to sorting the sum of squares for thegenerated VS matrix, and selecting a set of the largest values (e.g.,three or four of the largest values) */   [~,idxVS] =sort(sumVS,‘descend’);   U = U(:,idxVS);   V = V(:,idxVS);   S =S(idxVS,idxVS);

In other words, according to the above pseudo-code, the salientcomponent analysis unit 524G may select entries of each vector of the VSmatrix decomposed from those of the SHC 511 corresponding to a sphericalbasis function having an order greater than one. The salient componentanalysis unit 524G may then square these entries for each vector of theVS matrix, summing the squared entries to identify, compute or otherwisedetermine a directionality metric or quotient for each vector of the VSmatrix. Next, the salient component analysis unit 524G may sort thevectors of the VS matrix based on the respective directionality metricsof each of the vectors. The salient component analysis unit 524G maysort these vectors in a descending order of directionality metrics, suchthat those vectors with the highest corresponding directionality arefirst and those vectors with the lowest corresponding directionality arelast. The salient component analysis unit 524G may then select the anon-zero subset of the vectors having the highest relativedirectionality metric.

According to some aspects of the techniques described herein, the audioencoding device 510G, or one or more components thereof, may identify orotherwise use a predetermined number of the vectors of the VS matrix asdistinct audio components. For instance, after selecting entries 5through 25 of each row of the VS matrix and squaring and summing theselected entries to determine the relative directionality metric foreach respective vector, the salient component analysis unit 524G mayimplement further selection among the vectors to identify vectors thatrepresent distinct audio components. In some examples, the salientcomponent analysis unit 524G may select a predetermined number of thevectors of the VS matrix, by comparing the directionality quotients ofthe vectors. As one example, the salient component analysis unit 524Gmay select the four vectors represented in the VS matrix that have thefour highest directionality quotients (and which are the first fourvectors of the sorted VS matrix). In turn, the salient componentanalysis unit 524G may determine that the four selected vectorsrepresent the four most distinct audio objects associated with thecorresponding SHC representation of the soundfield.

In some examples, the salient component analysis unit 524G may reorderthe vectors derived from the VS matrix, to reflect the distinctness ofthe four selected vectors, as described above. In one example, thesalient component analysis unit 524G may reorder the vectors such thatthe four selected entries are relocated to the top of the VS matrix. Forinstance, the salient component analysis unit 524G may modify the VSmatrix such that all of the four selected entries are positioned in afirst (or topmost) row of the resulting reordered VS matrix. Althoughdescribed herein with respect to the salient component analysis unit524G, in various implementations, other components of the audio encodingdevice 510G, such as the vector reorder unit 532, may perform thereordering.

The salient component analysis unit 524G may communicate the resultingmatrix (i.e., the VS matrix, reordered or not, as the case may be) tothe bitstream generation unit 516. In turn, the bitstream generationunit 516 may use the VS matrix 525K to generate the bitstream 517. Forinstance, if the salient component analysis unit 524G has reordered theVS matrix 525K, the bitstream generation unit 516 may use the top row ofthe reordered version of VS matrix 525K as distinct audio objects, suchas by quantizing or discarding the remaining vectors of the reorderedversion of VS matrix 525K. By quantizing the remaining vectors of thereordered version of VS matrix 525K, the bitstream generation unit 16may treat the remaining vectors as ambient or background audio data.

In examples where the salient component analysis unit 524G has notreordered the VS matrix 525K, the bitstream generation unit 516 maydistinguish distinct audio data from background audio data, based on theparticular entries (e.g., the 5^(th) through 25^(th) entries) of eachrow of the VS matrix 525K, as selected by the salient component analysisunit 524G. For instance, the bitstream generation unit 516 may generatethe bitstream 517 by quantizing or discarding the first four entries ofeach row of the VS matrix 525K.

In this manner, the audio encoding device 510G and/or componentsthereof, such as the salient component analysis unit 524G, may implementtechniques of this disclosure to determine or otherwise utilize theratios of the energies of higher and lower coefficients of audio data,in order to distinguish between distinct audio objects and backgroundaudio data representative of the soundfield. For instance, as described,the salient component analysis unit 524G may utilize the energy ratiosbased on values of the various entries of the VS matrix 525K generatedby the salient component analysis unit 524H. By combining data providedby the V matrix 519A and the S matrix 519B, the salient componentanalysis unit 524G may generate the VS matrix 525K to provideinformation on both the directionality and the overall energy of thevarious components of the audio data, in the form of vectors and relateddata (e.g., directionality quotients). More specifically, the V matrix519A may provide information related to directionality determinations,while the S matrix 519B may provide information related to overallenergy determinations for the components of the audio data.

In other examples, the salient component analysis unit 524G may generatethe VS matrix 525K using the reordered V^(T) _(DIST) vectors 539. Inthese examples, the salient component analysis unit 524G may determinedistinctness based on the V matrix 519, prior to any modification basedon the S matrix 519B. In other words, according to these examples, thesalient component analysis unit 524G may determine directionality usingonly the V matrix 519, without performing the step of generating the VSmatrix 525K. More specifically, the V matrix 519A may provideinformation on the manner in which components (e.g., vectors of the Vmatrix 519) of the audio data are mixed, and potentially, information onvarious synergistic effects of the data conveyed by the vectors. Forinstance, the V matrix 519A may provide information on the “direction ofarrival” of various audio components represented by the vectors, such asthe direction of arrival of each audio component, as relayed to theaudio encoding device 510G by an EigenMike®. As used herein, the term“component of audio data” may be used interchangeably with “entry” ofany of the matrices 519 or any matrices derived therefrom.

According to some implementations of the techniques of this disclosure,the salient component analysis unit 524G may supplement or augment theSHC representations with extraneous information to make variousdeterminations described herein. As one example, the salient componentanalysis unit 524G may augment the SHC with extraneous information inorder to determine saliency of various audio components represented inthe matrixes 519-519C. As another example, the salient componentanalysis unit 524G and/or the vector reorder unit 532 may augment theHOA with extraneous data to distinguish between distinct audio objectsand background audio data.

In some examples, the salient component analysis unit 524G may detectthat portions (e.g., distinct audio objects) of the audio data displayKeynesian energy. An example of such distinct objects may be associatedwith a human voice that modulates. In the case of voice-based audio datathat modulates, the salient component analysis unit 524G may determinethat the energy of the modulating data, as a ratio to the energies ofthe remaining components, remains approximately constant (e.g., constantwithin a threshold range) or approximately stationary over time.Traditionally, if the energy characteristics of distinct audiocomponents with Keynesian energy (e.g. those associated with themodulating voice) change from one audio frame to another, a device maynot be able to identify the series of audio components as a singlesignal. However, the salient component analysis unit 524G may implementtechniques of this disclosure to determine a directionality or anaperture of the distance object represented as a vector in the variousmatrices.

More specifically, the salient component analysis unit 524G maydetermine that characteristics such as directionality and/or apertureare unlikely to change substantially across audio frames. As usedherein, the aperture represents a ratio of the higher order coefficientsto lower order coefficients, within the audio data. Each row of the Vmatrix 519A may include vectors that correspond to particular SHC. Thesalient component analysis unit 524G may determine that the lower orderSHC (e.g., associated with an order less than or equal to 1) tend torepresent ambient data, while the higher order entries tend to representdistinct data. Additionally, the salient component analysis unit 524Gmay determine that, in many instances, the higher order SHC (e.g.,associated with an order greater than 1) display greater energy, andthat the energy ratio of the higher order to lower order SHC remainssubstantially similar (or approximately constant) from audio frame toaudio frame.

One or more components of the salient component analysis unit 524G maydetermine characteristics of the audio data such as directionality andaperture, using the V matrix 519. In this manner, components of theaudio encoding device 510G, such as the salient component analysis unit524G, may implement the techniques described herein to determinesaliency and/or distinguish distinct audio objects from backgroundaudio, using directionality-based information. By using directionalityto determine saliency and/or distinctness, the salient componentanalysis unit 524G may arrive at more robust determinations than incases of a device configured to determine saliency and/or distinctnessusing only energy-based data. Although described above with respect todirectionality-based determinations of saliency and/or distinctness, thesalient component analysis unit 524G may implement the techniques ofthis disclosure to use directionality in addition to othercharacteristics, such as energy, to determine saliency and/ordistinctness of particular components of the audio data, as representedby vectors of one or more of the matrices 519-519C (or any matrixderived therefrom).

In some examples, a method includes identifying one or more distinctaudio objects from one or more spherical harmonic coefficients (SHC)associated with the audio objects based on a directionality determinedfor one or more of the audio objects. In one example, the method furtherincludes determining the directionality of the one or more audio objectsbased on the spherical harmonic coefficients associated with the audioobjects. In some examples, the method further includes performing asingular value decomposition with respect to the spherical harmoniccoefficients to generate a U matrix representative of left-singularvectors of the plurality of spherical harmonic coefficients, an S matrixrepresentative of singular values of the plurality of spherical harmoniccoefficients and a V matrix representative of right-singular vectors ofthe plurality of spherical harmonic coefficients; and representing theplurality of spherical harmonic coefficients as a function of at least aportion of one or more of the U matrix, the S matrix and the V matrix,wherein determining the respective directionality of the one or moreaudio objects is based at least in part on the V matrix.

In one example, the method further includes reordering one or morevectors of the V matrix such that vectors having a greaterdirectionality quotient are positioned above vectors having a lesserdirectionality quotient in the reordered V matrix. In one example, themethod further includes determining that the vectors having the greaterdirectionality quotient include greater directional information than thevectors having the lesser directionality quotient. In one example, themethod further includes multiplying the V matrix by the S matrix togenerate a VS matrix, the VS matrix including one or more vectors. Inone example, the method further includes selecting entries of each rowof the VS matrix that are associated with an order greater than 1,squaring each of the selected entries to form corresponding squaredentries, and for each row of the VS matrix, summing all of the squaredentries to determine a directionality quotient for a correspondingvector.

In some examples, each row of the VS matrix includes 25 entries. In oneexample, selecting the entries of each row of the VS matrix associatedwith the order greater than 1 includes selecting all entries beginningat a 5th entry of each row of the VS matrix and ending at a 25th entryof each row of the VS matrix. In one example, the method furtherincludes selecting a subset of the vectors of the VS matrix to representthe distinct audio objects. In some examples, selecting the subsetincludes selecting four vectors of the VS matrix, and the selected fourvectors have the four greatest directionality quotients of all of thevectors of the VS matrix. In one example, determining that the selectedsubset of the vectors represent the distinct audio objects is based onboth the directionality and an energy of each vector.

In some examples, a method includes identifying one or more distinctaudio objects from one or more spherical harmonic coefficientsassociated with the audio objects, based on a directionality and anenergy determined for one or more of the audio objects. In one example,the method further includes determining one or both of thedirectionality and the energy of the one or more audio objects based onthe spherical harmonic coefficients associated with the audio objects.In some examples, the method further includes performing a singularvalue decomposition with respect to the spherical harmonic coefficientsrepresentative of the soundfield to generate a U matrix representativeof left-singular vectors of the plurality of spherical harmoniccoefficients, an S matrix representative of singular values of theplurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients, and representing the plurality of sphericalharmonic coefficients as a function of at least a portion of one or moreof the U matrix, the S matrix and the V matrix, wherein determining therespective directionality of the one or more audio objects is based atleast in part on the V matrix, and wherein determining the respectiveenergy of the one or more audio objects is based at least in part on theS matrix.

In one example, the method further includes multiplying the V matrix bythe S matrix to generate a VS matrix, the VS matrix including one ormore vectors. In some examples, the method further includes selectingentries of each row of the VS matrix that are associated with an ordergreater than 1, squaring each of the selected entries to formcorresponding squared entries, and for each row of the VS matrix,summing all of the squared entries to generate a directionality quotientfor a corresponding vector of the VS matrix. In some examples, each rowof the VS matrix includes 25 entries. In one example, selecting theentries of each row of the VS matrix associated with the order greaterthan 1 comprises selecting all entries beginning at a 5th entry of eachrow of the VS matrix and ending at a 25th entry of each row of the VSmatrix. In some examples, the method further includes selecting a subsetof the vectors to represent distinct audio objects. In one example,selecting the subset comprises selecting four vectors of the VS matrix,and the selected four vectors have the four greatest directionalityquotients of all of the vectors of the VS matrix. In some examples,determining that the selected subset of the vectors represent thedistinct audio objects is based on both the directionality and an energyof each vector.

In some examples, a method includes determining, usingdirectionality-based information, one or more first vectors describingdistinct components of the soundfield and one or more second vectorsdescribing background components of the soundfield, both the one or morefirst vectors and the one or more second vectors generated at least byperforming a transformation with respect to the plurality of sphericalharmonic coefficients. In one example, the transformation comprises asingular value decomposition that generates a U matrix representative ofleft-singular vectors of the plurality of spherical harmoniccoefficients, an S matrix representative of singular values of theplurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the plurality of sphericalharmonic coefficients. In one example, the transformation comprises aprincipal component analysis to identify the distinct components of thesoundfield and the background components of the soundfield.

In some examples, a device is configured or otherwise operable toperform any of the techniques described herein or any combination of thetechniques. In some examples, a computer-readable storage medium isencoded with instructions that, when executed, cause one or moreprocessors to perform any of the techniques described herein or anycombination of the techniques. In some examples, a device includes meansto perform any of the techniques described herein or any combination ofthe techniques.

That is, the foregoing aspects of the techniques may enable the audioencoding device 510G to be configured to operate in accordance with thefollowing clauses.

Clause 134954-1B. A device, such as the audio encoding device 510G,comprising: one or more processors configured to identify one or moredistinct audio objects from one or more spherical harmonic coefficientsassociated with the audio objects, based on a directionality and anenergy determined for one or more of the audio objects.

Clause 134954-2B. The device of clause 134954-1B, wherein the one ormore processors are further configured to determine one or both of thedirectionality and the energy of the one or more audio objects based onthe spherical harmonic coefficients associated with the audio objects.

Clause 134954-3B. The device of any of claims 1B or 2B or combinationthereof, wherein the one or more processors are further configured toperform a singular value decomposition with respect to the sphericalharmonic coefficients representative of the sound field to generate a Umatrix representative of left-singular vectors of the plurality ofspherical harmonic coefficients, an S matrix representative of singularvalues of the plurality of spherical harmonic coefficients and a Vmatrix representative of right-singular vectors of the plurality ofspherical harmonic coefficients, and represent the plurality ofspherical harmonic coefficients as a function of at least a portion ofone or more of the U matrix, the S matrix and the V matrix, wherein theone or more processors are configured to determine the respectivedirectionality of the one or more audio objects based at least in parton the V matrix, and wherein the one or more processors are configuredto determine the respective energy of the one or more audio objects isbased at least in part on the S matrix.

Clause 134954-4B. The device of clause 134954-3B, wherein the one ormore processors are further configured to multiply the V matrix by the Smatrix to generate a VS matrix, the VS matrix including one or morevectors.

Clause 134954-5B. The device of clause 134954-4B, wherein the one ormore processors are further configured to select entries of each row ofthe VS matrix that are associated with an order greater than 1, squareeach of the selected entries to form corresponding squared entries, andfor each row of the VS matrix, sum all of the squared entries togenerate a directionality quotient for a corresponding vector of the VSmatrix.

Clause 134954-6B. The device of any of claims 5B and 6B or combinationthereof, wherein each row of the VS matrix includes 25 entries.

Clause 134954-7B. The device of clause 134954-6B, wherein the one ormore processors are configured to select all entries beginning at a 5thentry of each row of the VS matrix and ending at a 25th entry of eachrow of the VS matrix.

Clause 134954-8B. The device of any of clause 134954-6B and clause134954-7B or combination thereof, wherein the one or more processors arefurther configured to select a subset of the vectors to representdistinct audio objects.

Clause 134954-9B. The device of clause 134954-8B, wherein the one ormore processors are configured to select four vectors of the VS matrix,and wherein the selected four vectors have the four greatestdirectionality quotients of all of the vectors of the VS matrix.

Clause 134954-10B. The device of any of clause 134954-8B and clause134954-9B or combination thereof, wherein the one or more processors arefurther configured to determine that the selected subset of the vectorsrepresent the distinct audio objects is based on both the directionalityand an energy of each vector.

Clause 134954-1C. A device, such as the audio encoding device 510G,comprising: one or more processors configured to determine, usingdirectionality-based information, one or more first vectors describingdistinct components of the sound field and one or more second vectorsdescribing background components of the sound field, both the one ormore first vectors and the one or more second vectors generated at leastby performing a transformation with respect to the plurality ofspherical harmonic coefficients.

Clause 134954-2C. The method of clause 134954-1C, wherein thetransformation comprises a singular value decomposition that generates aU matrix representative of left-singular vectors of the plurality ofspherical harmonic coefficients, an S matrix representative of singularvalues of the plurality of spherical harmonic coefficients and a Vmatrix representative of right-singular vectors of the plurality ofspherical harmonic coefficients.

Clause 134954-3C. The method of clause 134954-2C, further comprising theoperations recited by any combination of the clause 134954-1A throughclause 134954-12A and clause 134954-1B through clause 134954-9B.

Clause 134954-4C. The method of clause 134954-1C, wherein thetransformation comprises a principal component analysis to identify thedistinct components of the sound field and the background components ofthe sound field.

FIG. 40H is a block diagram illustrating example audio encoding device510H that may perform various aspects of the techniques described inthis disclosure to compress spherical harmonic coefficients describingtwo or three dimensional soundfields. The audio encoding device 510H maybe similar to audio encoding device 510G in that audio encoding device510H includes an audio compression unit 512, an audio encoding unit 514and a bitstream generation unit 516. Moreover, the audio compressionunit 512 of the audio encoding device 510H may be similar to that of theaudio encoding device 510G in that the audio compression unit 512includes a decomposition unit 518 and a soundfield component extractionunit 520G, which may operate similarly to like units of the audioencoding device 510G. In some examples, audio encoding device 510H mayinclude a quantization unit 534, as described with respect to FIGS.40D-40E, to quantize one or more vectors of any of the U_(DIST) vectors525C, the U_(BG) vectors 525D, the V^(T) _(DIST) vectors 525E, and theV^(T) _(BG) vectors 525J.

The audio compression unit 512 of the audio encoding device 510H may,however, differ from the audio compression unit 512 of the audioencoding device 510G in that the audio compression unit 512 of the audioencoding device 510H includes an additional unit denoted asinterpolation unit 550. The interpolation unit 550 may represent a unitthat interpolates sub-frames of a first audio frame from the sub-framesof the first audio frame and a second temporally subsequent or precedingaudio frame, as described in more detail below with respect to FIGS. 45and 45B. The interpolation unit 550 may, in performing thisinterpolation, reduce computational complexity (in terms of processingcycles and/or memory consumption) by potentially reducing the extent towhich the decomposition unit 518 is required to decompose SHC 511. Inthis respect, the interpolation unit 550 may perform operations similarto those described above with respect to the spatio-temporalinterpolation unit 50 of the audio encoding device 24 shown in theexample of FIG. 4.

That is, the singular value decomposition performed by the decompositionunit 518 is potentially very processor and/or memory intensive, whilealso, in some examples, taking extensive amounts of time to decomposethe SHC 511, especially as the order of the SHC 511 increases. In orderto reduce the amount of time and make compression of the SHC 511 moreefficient (in terms of processing cycles and/or memory consumption), thetechniques described in this disclosure may provide for interpolation ofone or more sub-frames of the first audio frame, where each of thesub-frames may represent decomposed versions of the SHC 511. Rather thanperform the SVD with respect to the entire frame, the techniques mayenable the decomposition unit 518 to decompose a first sub-frame of afirst audio frame, generating a V matrix 519′.

The decomposition unit 518 may also decompose a second sub-frame of asecond audio frame, where this second audio frame may be temporallysubsequent to or temporally preceding the first audio frame. Thedecomposition unit 518 may output a V matrix 519′ for this sub-frame ofthe second audio frame. The interpolation unit 550 may then interpolatethe remaining sub-frames of the first audio frame based on the Vmatrices 519′ decomposed from the first and second sub-frames,outputting V matrix 519, S matrix 519B and U matrix 519C, where thedecompositions for the remaining sub-frames may be computed based on theSHC 511, the V matrix 519A for the first audio frame and theinterpolated V matrices 519 for the remaining sub-frames of the firstaudio frame. The interpolation may therefore avoid computation of thedecompositions for the remaining sub-frames of the first audio frame.

Moreover, as noted above, the U matrix 519C may not be continuous fromframe to frame, where distinct components of the U matrix 519Cdecomposed from a first audio frame of the SHC 511 may be specified indifferent rows and/or columns than in the U matrix 519C decomposed froma second audio frame of the SHC 511. By performing this interpolation,the discontinuity may be reduced given that a linear interpolation mayhave a smoothing effect that may reduce any artifacts introduced due toframe boundaries (or, in other words, segmentation of the SHC 511 intoframes). Using the V matrix 519′ to perform this interpolation and thenrecovering the U matrixes 519C based on the interpolated V matrix 519′from the SHC 511 may smooth any effects from reordering the U matrix519C.

In operation, the interpolation unit 550 may interpolate one or moresub-frames of a first audio frame from a first decomposition, e.g., theV matrix 519′, of a portion of a first plurality of spherical harmoniccoefficients 511 included in the first frame and a second decomposition,e.g., V matrix 519′, of a portion of a second plurality of sphericalharmonic coefficients 511 included in a second frame to generatedecomposed interpolated spherical harmonic coefficients for the one ormore sub-frames.

In some examples, the first decomposition comprises the first V matrix519′ representative of right-singular vectors of the portion of thefirst plurality of spherical harmonic coefficients 511. Likewise, insome examples, the second decomposition comprises the second V matrix519′ representative of right-singular vectors of the portion of thesecond plurality of spherical harmonic coefficients.

The interpolation unit 550 may perform a temporal interpolation withrespect to the one or more sub-frames based on the first V matrix 519′and the second V matrix 519′. That is, the interpolation unit 550 maytemporally interpolate, for example, the second, third and fourthsub-frames out of four total sub-frames for the first audio frame basedon a V matrix 519′ decomposed from the first sub-frame of the firstaudio frame and the V matrix 519′ decomposed from the first sub-frame ofthe second audio frame. In some examples, this temporal interpolation isa linear temporal interpolation, where the V matrix 519′ decomposed fromthe first sub-frame of the first audio frame is weighted more heavilywhen interpolating the second sub-frame of the first audio frame thanwhen interpolating the fourth sub-frame of the first audio frame. Wheninterpolating the third sub-frame, the V matrices 519′ may be weightedevenly. When interpolating the fourth sub-frame, the V matrix 519′decomposed from the first sub-frame of the second audio frame may bemore heavily weighted than the V matrix 519′ decomposed from the firstsub-frame of the first audio frame.

In other words, the linear temporal interpolation may weight the Vmatrices 519′ given the proximity of the one of the sub-frames of thefirst audio frame to be interpolated. For the second sub-frame to beinterpolated, the V matrix 519′ decomposed from the first sub-frame ofthe first audio frame is weighted more heavily given its proximity tothe second sub-frame to be interpolated than the V matrix 519′decomposed from the first sub-frame of the second audio frame. Theweights may be equivalent for this reason when interpolating the thirdsub-frame based on the V matrices 519′. The weight applied to the Vmatrix 519′ decomposed from the first sub-frame of the second audioframe may be greater than that applied to the V matrix 519′ decomposedfrom the first sub-frame of the first audio frame given that the fourthsub-frame to be interpolated is more proximate to the first sub-frame ofthe second audio frame than the first sub-frame of the first audioframe.

Although, in some examples, only a first sub-frame of each audio frameis used to perform the interpolation, the portion of the first pluralityof spherical harmonic coefficients may comprise two of four sub-framesof the first plurality of spherical harmonic coefficients 511. In theseand other examples, the portion of the second plurality of sphericalharmonic coefficients 511 comprises two of four sub-frames of the secondplurality of spherical harmonic coefficients 511.

As noted above, a single device, e.g., audio encoding device 510H, mayperform the interpolation while also decomposing the portion of thefirst plurality of spherical harmonic coefficients to generate the firstdecompositions of the portion of the first plurality of sphericalharmonic coefficients. In these and other examples, the decompositionunit 518 may decompose the portion of the second plurality of sphericalharmonic coefficients to generate the second decompositions of theportion of the second plurality of spherical harmonic coefficients.While described with respect to a single device, two or more devices mayperform the techniques described in this disclosure, where one of thetwo devices performs the decomposition and another one of the devicesperforms the interpolation in accordance with the techniques describedin this disclosure.

In other words, spherical harmonics-based 3D audio may be a parametricrepresentation of the 3D pressure field in terms of orthogonal basisfunctions on a sphere. The higher the order N of the representation, thepotentially higher the spatial resolution, and often the larger thenumber of spherical harmonics (SH) coefficients (for a total of (N+1)²coefficients). For many applications, a bandwidth compression of thecoefficients may be required for being able to transmit and store thecoefficients efficiently. This techniques directed in this disclosuremay provide a frame-based, dimensionality reduction process usingSingular Value Decomposition (SVD). The SVD analysis may decompose eachframe of coefficients into three matrices U, S and V. In some examples,the techniques may handle some of the vectors in U as directionalcomponents of the underlying soundfield. However, when handled in thismanner, these vectors (in U) are discontinuous from frame to frame—eventhough they represent the same distinct audio component. Thesediscontinuities may lead to significant artifacts when the componentsare fed through transform-audio-coders.

The techniques described in this disclosure may address thisdiscontinuity. That is, the techniques may be based on the observationthat the V matrix can be interpreted as orthogonal spatial axes in theSpherical Harmonics domain. The U matrix may represent a projection ofthe Spherical Harmonics (HOA) data in terms of those basis functions,where the discontinuity can be attributed to basis functions (V) thatchange every frame—and are therefore discontinuous themselves. This isunlike similar decomposition, such as the Fourier Transform, where thebasis functions are, in some examples, constant from frame to frame. Inthese terms, the SVD may be considered of as a matching pursuitalgorithm. The techniques described in this disclosure may enable theinterpolation unit 550 to maintain the continuity between the basisfunctions (V) from frame to frame—by interpolating between them.

In some examples, the techniques enable the interpolation unit 550 todivide the frame of SH data into four subframes, as described above andfurther described below with respect to FIGS. 45 and 45B. Theinterpolation unit 550 may then compute the SVD for the first sub-frame.Similarly we compute the SVD for the first sub-frame of the secondframe. For each of the first frame and the second frame, theinterpolation unit 550 may convert the vectors in V to a spatial map byprojecting the vectors onto a sphere (using a projection matrix such asa T-design matrix). The interpolation unit 550 may then interpret thevectors in V as shapes on a sphere. To interpolate the V matrices forthe three sub-frames in between the first sub-frame of the first framethe first sub-frame of the next frame, the interpolation unit 550 maythen interpolate these spatial shapes—and then transform them back tothe SH vectors via the inverse of the projection matrix. The techniquesof this disclosure may, in this manner, provide a smooth transitionbetween V matrices.

In this way, the audio encoding device 510H may be configured to performvarious aspects of the techniques set forth below with respect to thefollowing clauses.

Clause 135054-1A. A device, such as the audio encoding device 510H,comprising: one or more processors configured to interpolate one or moresub-frames of a first frame from a first decomposition of a portion of afirst plurality of spherical harmonic coefficients included in the firstframe and a second decomposition of a portion of a second plurality ofspherical harmonic coefficients included in a second frame to generatedecomposed interpolated spherical harmonic coefficients for the one ormore sub-frames.

Clause 135054-2A. The device of clause 135054-1A, wherein the firstdecomposition comprises a first V matrix representative ofright-singular vectors of the portion of the first plurality ofspherical harmonic coefficients.

Clause 135054-3A. The device of clause 135054-1A, wherein the seconddecomposition comprises a second V matrix representative ofright-singular vectors of the portion of the second plurality ofspherical harmonic coefficients.

Clause 135054-4A. The device of clause 135054-1A, wherein the firstdecomposition comprises a first V matrix representative ofright-singular vectors of the portion of the first plurality ofspherical harmonic coefficients, and wherein the second decompositioncomprises a second V matrix representative of right-singular vectors ofthe portion of the second plurality of spherical harmonic coefficients.

Clause 135054-5A. The device of clause 135054-1A, wherein the one ormore processors are further configured to, when interpolating the one ormore sub-frames, temporally interpolate the one or more sub-frames basedon the first decomposition and the second decomposition.

Clause 135054-6A. The device of clause 135054-1A, wherein the one ormore processors are further configured to, when interpolating the one ormore sub-frames, project the first decomposition into a spatial domainto generate first projected decompositions, project the seconddecomposition into the spatial domain to generate second projecteddecompositions, spatially interpolate the first projected decompositionsand the second projected decompositions to generate a first spatiallyinterpolated projected decomposition and a second spatially interpolatedprojected decomposition, and temporally interpolate the one or moresub-frames based on the first spatially interpolated projecteddecomposition and the second spatially interpolated projecteddecomposition.

Clause 135054-7A. The device of clause 135054-6A, wherein the one ormore processors are further configured to project the temporallyinterpolated spherical harmonic coefficients resulting frominterpolating the one or more sub-frames back to a spherical harmonicdomain.

Clause 135054-8A. The device of clause 135054-1A, wherein the portion ofthe first plurality of spherical harmonic coefficients comprises asingle sub-frame of the first plurality of spherical harmoniccoefficients.

Clause 135054-9A. The device of clause 135054-1A, wherein the portion ofthe second plurality of spherical harmonic coefficients comprises asingle sub-frame of the second plurality of spherical harmoniccoefficients.

Clause 135054-10A. The device of clause 135054-1A,

-   -   wherein the first frame is divided into four sub-frames, and    -   wherein the portion of the first plurality of spherical harmonic        coefficients comprises only the first sub-frame of the first        plurality of spherical harmonic coefficients.

Clause 135054-11A. The device of clause 135054-1A,

-   -   wherein the second frame is divided into four sub-frames, and    -   wherein the portion of the second plurality of spherical        harmonic coefficients comprises only the first sub-frame of the        second plurality of spherical harmonic coefficients.

Clause 135054-12A. The device of clause 135054-1A, wherein the portionof the first plurality of spherical harmonic coefficients comprises twoof four sub-frames of the first plurality of spherical harmoniccoefficients.

Clause 135054-13A. The device of clause 135054-1A, wherein the portionof the second plurality of spherical harmonic coefficients comprises twoof four sub-frames of the second plurality of spherical harmoniccoefficients.

Clause 135054-14A. The device of clause 135054-1A, wherein the one ormore processors are further configured to decompose the portion of thefirst plurality of spherical harmonic coefficients to generate the firstdecompositions of the portion of the first plurality of sphericalharmonic coefficients.

Clause 135054-15A. The device of clause 135054-1A, wherein the one ormore processors are further configured to decompose the portion of thesecond plurality of spherical harmonic coefficients to generate thesecond decompositions of the portion of the second plurality ofspherical harmonic coefficients.

Clause 135054-16A. The device of clause 135054-1A, wherein the one ormore processors are further configured to perform a singular valuedecomposition with respect to the portion of the first plurality ofspherical harmonic coefficients to generate a U matrix representative ofleft-singular vectors of the first plurality of spherical harmoniccoefficients, an S matrix representative of singular values of the firstplurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the first plurality ofspherical harmonic coefficients.

Clause 135054-17A. The device of clause 135054-1A, wherein the one ormore processors are further configured to performing a singular valuedecomposition with respect to the portion of the second plurality ofspherical harmonic coefficients to generate a U matrix representative ofleft-singular vectors of the second plurality of spherical harmoniccoefficients, an S matrix representative of singular values of thesecond plurality of spherical harmonic coefficients and a V matrixrepresentative of right-singular vectors of the second plurality ofspherical harmonic coefficients.

Clause 135054-18A. The device of clause 135054-1A, wherein the first andsecond plurality of spherical harmonic coefficients each represent aplanar wave representation of the sound field.

Clause 135054-19A. The device of clause 135054-1A, wherein the first andsecond plurality of spherical harmonic coefficients each represent oneor more mono-audio objects mixed together.

Clause 135054-20A. The device of clause 135054-1A, wherein the first andsecond plurality of spherical harmonic coefficients each compriserespective first and second spherical harmonic coefficients thatrepresent a three dimensional sound field.

Clause 135054-21A. The device of clause 135054-1A, wherein the first andsecond plurality of spherical harmonic coefficients are each associatedwith at least one spherical basis function having an order greater thanone.

Clause 135054-22A. The device of clause 135054-1A, wherein the first andsecond plurality of spherical harmonic coefficients are each associatedwith at least one spherical basis function having an order equal tofour.

Although described above as being performed by the audio encoding device510H, the various audio decoding devices 24 and 540 may also perform anyof the various aspects of the techniques set forth above with respect toclauses 135054-1A through 135054-22A.

FIG. 40I is a block diagram illustrating example audio encoding device510I that may perform various aspects of the techniques described inthis disclosure to compress spherical harmonic coefficients describingtwo or three dimensional soundfields. The audio encoding device 510I maybe similar to audio encoding device 510H in that audio encoding device510I includes an audio compression unit 512, an audio encoding unit 514and a bitstream generation unit 516. Moreover, the audio compressionunit 512 of the audio encoding device 510I may be similar to that of theaudio encoding device 510H in that the audio compression unit 512includes a decomposition unit 518 and a soundfield component extractionunit 520, which may operate similarly to like units of the audioencoding device 510H. In some examples, audio encoding device 10I mayinclude a quantization unit 34, as described with respect to FIGS.3D-3E, to quantize one or more vectors of any of U_(DIST) 25C, U_(BG)25D, V^(T) _(DIST) 25E, and V^(T) _(BG) 25J.

However, while both of the audio compression unit 512 of the audioencoding device 510I and the audio compression unit 512 of the audioencoding device 10H include a soundfield component extraction unit, thesoundfield component extraction unit 5201 of the audio encoding device510I may include an additional module referred to as V compression unit552. The V compression unit 552 may represent a unit configured tocompress a spatial component of the soundfield, i.e., one or more of theV^(T) _(DIST) vectors 539 in this example. That is, the singular valuedecomposition performed with respect to the SHC may decompose the SHC(which is representative of the soundfield) into energy componentsrepresented by vectors of the S matrix, time components represented bythe U matrix and spatial components represented by the V matrix. The Vcompression unit 552 may perform operations similar to those describedabove with respect to the quantization unit 52.

For purposes of example, the V^(T) _(DIST) vectors 539 are assumed tocomprise two row vectors having 25 elements each (which implies a fourthorder HOA representation of the soundfield). Although described withrespect to two row vectors, any number of vectors may be included in theV^(T) _(DIST) vectors 539 up to (n+1)², where n denotes the order of theHOA representation of the soundfield.

The V compression unit 552 may receive the V^(T) _(DIST) vectors 539 andperform a compression scheme to generate compressed V^(T) _(DIST) vectorrepresentations 539′. This compression scheme may involve anyconceivable compression scheme for compressing elements of a vector ordata generally, and should not be limited to the example described belowin more detail.

V compression unit 552 may perform, as an example, a compression schemethat includes one or more of transforming floating point representationsof each element of the V^(T) _(DIST) vectors 539 to integerrepresentations of each element of the V^(T) _(DIST) vectors 539,uniform quantization of the integer representations of the V^(T) _(DIST)vectors 539 and categorization and coding of the quantized integerrepresentations of the V^(T) _(DIST) vectors 539. Various of the one ormore processes of this compression scheme may be dynamically controlledby parameters to achieve or nearly achieve, as one example, a targetbitrate for the resulting bitstream 517.

Given that each of the V^(T) _(DIST) vectors 539 are orthonormal to oneanother, each of the V^(T) _(DIST) vectors 539 may be codedindependently. In some examples, as described in more detail below, eachelement of each V^(T) _(DIST) vector 539 may be coded using the samecoding mode (defined by various sub-modes).

In any event, as noted above, this coding scheme may first involvetransforming the floating point representations of each element (whichis, in some examples, a 32-bit floating point number) of each of theV^(T) _(DIST) vectors 539 to a 16-bit integer representation. The Vcompression unit 552 may perform thisfloating-point-to-integer-transformation by multiplying each element ofa given one of the V^(T) _(DIST) vectors 539 by 2¹⁵, which is, in someexamples, performed by a right shift by 15.

The V compression unit 552 may then perform uniform quantization withrespect to all of the elements of the given one of the V^(T) _(DIST)vectors 539. The V compression unit 552 may identify a quantization stepsize based on a value, which may be denoted as an nbits parameter. The Vcompression unit 552 may dynamically determine this nbits parameterbased on a target bit rate. The V compression unit 552 may determiningthe quantization step size as a function of this nbits parameter. As oneexample, the V compression unit 552 may determine the quantization stepsize (denoted as “delta” or “Δ” in this disclosure) as equal to2^(16-nbits). In this example, if nbits equals six, delta equals 2¹⁰ andthere are 2⁶ quantization levels. In this respect, for a vector elementv, the quantized vector element v_(q) equals [v/Δ] and−2^(nbits−1)<v_(q)<2^(nbits−1).

The V compression unit 552 may then perform categorization and residualcoding of the quantized vector elements. As one example, the Vcompression unit 552 may, for a given quantized vector element v_(q)identify a category (by determining a category identifier cid) to whichthis element corresponds using the following equation:

${cid} = \left\{ \begin{matrix}{0,} & {{{if}\mspace{14mu} v_{q}} = 0} \\{{\left\lfloor {\log_{2}{v_{q}}} \right\rfloor + 1},} & {{{if}\mspace{14mu} v_{q}} \neq 0}\end{matrix} \right.$

The V compression unit 552 may then Huffman code this category indexcid, while also identifying a sign bit that indicates whether v_(q) is apositive value or a negative value. The V compression unit 552 may nextidentify a residual in this category. As one example, the V compressionunit 552 may determine this residual in accordance with the followingequation:

residual=|v _(q)|−2^(cid−1)

The V compression unit 552 may then block code this residual with cid−1bits.

The following example illustrates a simplified example of thiscategorization and residual coding process. First, assume nbits equalssix so that v_(q)ε[−31,31]. Next, assume the following:

Huffman cid vq Code for cid 0 0 ‘1’ 1 −1, 1 ‘01’ 2 −3,−2, 2,3 ‘000’ 3−7,−6,−5,−4, 4,5,6,7 ‘0010’ 4 −15,−14,...,−8, 8,...,14,15 ‘00110’ 5−31,−30,...,−16, 16,...,30,31 ‘00111’Also, assume the following:

cid Block Code for Residual 0 N/A 1 0, 1 2 01,00, 10,11 3011,010,001,000, 100,101,110,111 4 0111,0110...,0000, 1000,...,1110,11115 01111, ... ,00000, 10000, ... ,11111Thus, for a v_(q)=[6, −17, 0, 0, 3], the following may be determined:

-   -   cid=3,5,0,0,2    -   sign=1,0,x,x,1    -   residual=2,1,x,x,1    -   Bits for 6=‘0010’+‘1’+‘10’    -   Bits for −17=‘00111’+‘0’+‘0001’    -   Bits for 0=‘0’    -   Bits for 0=‘0’    -   Bits for 3=‘000’+‘1’+‘1’    -   Total bits=7+10+1+1+5=24    -   Average bits=24/5=4.8

While not shown in the foregoing simplified example, the V compressionunit 552 may select different Huffman code books for different values ofnbits when coding the cid. In some examples, the V compression unit 552may provide a different Huffman coding table for nbits values 6, . . . ,15. Moreover, the V compression unit 552 may include five differentHuffman code books for each of the different nbits values ranging from6, . . . , 15 for a total of 50 Huffman code books. In this respect, theV compression unit 552 may include a plurality of different Huffman codebooks to accommodate coding of the cid in a number of differentstatistical contexts.

To illustrate, the V compression unit 552 may, for each of the nbitsvalues, include a first Huffman code book for coding vector elements onethrough four, a second Huffman code book for coding vector elements fivethrough nine, a third Huffman code book for coding vector elements nineand above. These first three Huffman code books may be used when the oneof the V^(T) _(DIST) vectors 539 to be compressed is not predicted froma temporally subsequent corresponding one of V^(T) _(DIST) vectors 539and is not representative of spatial information of a synthetic audioobject (one defined, for example, originally by a pulse code modulated(PCM) audio object). The V compression unit 552 may additionallyinclude, for each of the nbits values, a fourth Huffman code book forcoding the one of the V^(T) _(DIST) vectors 539 when this one of theV^(T) _(DIST) vectors 539 is predicted from a temporally subsequentcorresponding one of the V^(T) _(DIST) vectors 539. The V compressionunit 552 may also include, for each of the nbits values, a fifth Huffmancode book for coding the one of the V^(T) _(DIST) vectors 539 when thisone of the V^(T) _(DIST) vectors 539 is representative of a syntheticaudio object. The various Huffman code books may be developed for eachof these different statistical contexts, i.e., the non-predicted andnon-synthetic context, the predicted context and the synthetic contextin this example.

The following table illustrates the Huffman table selection and the bitsto be specified in the bitstream to enable the decompression unit toselect the appropriate Huffman table:

Pred mode HT info HT table 0 0 HT5 0 1 HT{1,2,3} 1 0 HT4 1 1 HT5In the foregoing table, the prediction mode (“Pred mode”) indicateswhether prediction was performed for the current vector, while theHuffman Table (“HT info”) indicates additional Huffman code book (ortable) information used to select one of Huffman tables one throughfive.

The following table further illustrates this Huffman table selectionprocess given various statistical contexts or scenarios.

Recording Synthetic W/O Pred HT{1,2,3} HT5 With Pred HT4 HT5In the foregoing table, the “Recording” column indicates the codingcontext when the vector is representative of an audio object that wasrecorded while the “Synthetic” column indicates a coding context forwhen the vector is representative of a synthetic audio object. The “W/OPred” row indicates the coding context when prediction is not performedwith respect to the vector elements, while the “With Pred” row indicatesthe coding context when prediction is performed with respect to thevector elements. As shown in this table, the V compression unit 552selects HT{1, 2, 3} when the vector is representative of a recordedaudio object and prediction is not performed with respect to the vectorelements. The V compression unit 552 selects HT5 when the audio objectis representative of a synthetic audio object and prediction is notperformed with respect to the vector elements. The V compression unit552 selects HT4 when the vector is representative of a recorded audioobject and prediction is performed with respect to the vector elements.The V compression unit 552 selects HT5 when the audio object isrepresentative of a synthetic audio object and prediction is performedwith respect to the vector elements.

In this way, the techniques may enable an audio compression device tocompress a spatial component of a soundfield, where the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients.

FIG. 43 is a diagram illustrating the V compression unit 552 shown inFIG. 40I in more detail. In the example of FIG. 43, the V compressionunit 552 includes a uniform quantization unit 600, a nbits unit 602, aprediction unit 604, a prediction mode unit 606 (“Pred Mode Unit 606”),a category and residual coding unit 608, and a Huffman table selectionunit 610. The uniform quantization unit 600 represents a unit configuredto perform the uniform quantization described above with respect to oneof the spatial components denoted as v in the example of FIG. 43 (whichmay represent any one of the V^(T) _(DIST) vectors 539). The nbits unit602 represents a unit configured to determine the nbits parameter orvalue.

The prediction unit 604 represents a unit configured to performprediction with respect to the quantized spatial component denoted asv_(q) in the example of FIG. 43. The prediction unit 604 may performprediction by performing an element-wise subtraction of the current oneof the V^(T) _(DIST) vectors 539 by a temporally subsequentcorresponding one of the V^(T) _(DIST) vectors 539. The result of thisprediction may be referred to as a predicted spatial component.

The prediction mode unit 606 may represent a unit configured to selectthe prediction mode. The Huffman table selection unit 610 may representa unit configured to select an appropriate Huffman table for coding ofthe cid. The prediction mode unit 606 and the Huffman table selectionunit 610 may operate, as one example, in accordance with the followingpseudo-code:

  For a given nbits, retrieve all the Huffman Tables having nbits   B00= 0; B01 = 0; B10 = 0; B11 = 0; // initialize to compute   expected bitsper coding mode   for m = 1:(# elements in the vector)    // calculateexpected number of bits for a vector element v(m)    // withoutprediction and using Huffman Table 5    B00 = B00 + calculate_bits(v(m),HT5);    // without prediction and using Huffman Table {1,2,3}    B01 =B01 + calculate_bits(v(m), HTq); q in {1,2,3}    // calculate expectednumber of bits for prediction residual e(m)    e(m) = v(m) − vp(m); //vp(m): previous frame vector element    // with prediction and usingHuffman Table 4    B10 = B10 + calculate_bits(e(m), HT4);    // withprediction and using Huffman Table 5    B11 = B11 + calculate_bits(e(m),HT5);   end   // find a best prediction mode and Huffman table thatyield minimum   bits   // best prediction mode and Huffman table areflagged by pflag and   Htflag, respectively   [Be, id] = min( [B00 B01B10 B11] );   Switch id    case 1: pflag = 0; HTflag = 0;    case 2:pflag = 0; HTflag = 1;    case 3: pflag = 1; HTflag = 0;    case 4:pflag = 1; HTflag = 1; end

Category and residual coding unit 608 may represent a unit configured toperform the categorization and residual coding of a predicted spatialcomponent or the quantized spatial component (when prediction isdisabled) in the manner described in more detail above.

As shown in the example of FIG. 43, the V compression unit 552 mayoutput various parameters or values for inclusion either in thebitstream 517 or side information (which may itself be a bitstreamseparate from the bitstream 517). Assuming the information is specifiedin the bitstream 517, the V compression unit 552 may output the nbitsvalue, the prediction mode and the Huffman table information tobitstream generation unit 516 along with the compressed version of thespatial component (shown as compressed spatial component 539′ in theexample of FIG. 40I), which in this example may refer to the Huffmancode selected to encode the cid, the sign bit, and the block codedresidual. The nbits value may be specified once in the bitstream 517 forall of the V^(T) _(DIST) vectors 539, while the prediction mode and theHuffman table information may be specified for each one of the V^(T)_(DIST) vectors 539. The portion of the bitstream that specifies thecompressed version of the spatial component is shown in the example ofFIGS. 10B and 10C.

In this way, the audio encoding device 510H may perform various aspectsof the techniques set forth below with respect to the following clauses.

Clause 141541-1A. A device, such as the audio encoding device 510H,comprising: one or more processors configured to obtain a bitstreamcomprising a compressed version of a spatial component of a sound field,the spatial component generated by performing a vector based synthesiswith respect to a plurality of spherical harmonic coefficients.

Clause 141541-2A. The device of clauses 141541-1A, wherein thecompressed version of the spatial component is represented in thebitstream using, at least in part, a field specifying a prediction modeused when compressing the spatial component.

Clause 141541-3A. The device of any combination of clause 141541-1A andclause 141541-2A, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part,Huffman table information specifying a Huffman table used whencompressing the spatial component.

Clause 141541-4A. The device of any combination of clause 141541-1Athrough clause 141541-3A, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, afield indicating a value that expresses a quantization step size or avariable thereof used when compressing the spatial component.

Clause 141541-5A. The device of clause 141541-4A, wherein the valuecomprises an nbits value.

Clause 141541-6A. The device of any combination of clause 141541-4A andclause 141541-5A, wherein the bitstream comprises a compressed versionof a plurality of spatial components of the sound field of which thecompressed version of the spatial component is included, and wherein thevalue expresses the quantization step size or a variable thereof usedwhen compressing the plurality of spatial components.

Clause 141541-7A. The device of any combination of clause 141541-1Athrough clause 141541-6A, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a category identifier that identifies acompression category to which the spatial component corresponds.

Clause 141541-8A. The device of any combination of clause 141541-1Athrough clause 141541-7A, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, asign bit identifying whether the spatial component is a positive valueor a negative value.

Clause 141541-9A. The device of any combination of clause 141541-1Athrough clause 141541-8A, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a residual value of the spatial component.

Clause 141541-10A. The device of any combination of clause 141541-1Athrough clause 141541-9A, wherein the device comprises an audio encodingdevice a bitstream generation device.

Clause 141541-12A. The device of any combination of clause 141541-1Athrough clause 141541-11A, wherein the vector based synthesis comprisesa singular value decomposition.

While described as being performed by the audio encoding device 510H,the techniques may also be performed by any of the audio decodingdevices 24 and/or 540.

In this way, the audio encoding device 510H may additionally performvarious aspects of the techniques set forth below with respect to thefollowing clauses.

Clause 141541-1D. A device, such as the audio encoding device 510H,comprising: one or more processors configured to generate a bitstreamcomprising a compressed version of a spatial component of a sound field,the spatial component generated by performing a vector based synthesiswith respect to a plurality of spherical harmonic coefficients.

Clause 141541-2D. The device of clause 141541-1D, wherein the one ormore processors are further configured to, when generating thebitstream, generate the bitstream to include a field specifying aprediction mode used when compressing the spatial component.

Clause 141541-3D. The device of any combination of clause 141541-1D andclause 141541-2D, wherein the one or more processors are furtherconfigured to, when generating the bitstream, generate the bitstream toinclude Huffman table information specifying a Huffman table used whencompressing the spatial component.

Clause 141541-4D. The device of any combination of clause 141541-1Dthrough clause 141541-3D, wherein the one or more processors are furtherconfigured to, when generating the bitstream, generate the bitstream toinclude a field indicating a value that expresses a quantization stepsize or a variable thereof used when compressing the spatial component.

Clause 141541-5D. The device of clause 141541-4D, wherein the valuecomprises an nbits value.

Clause 141541-6D. The device of any combination of clause 141541-4D andclause 141541-5D, wherein the one or more processors are furtherconfigured to, when generating the bitstream, generate the bitstream toinclude a compressed version of a plurality of spatial components of thesound field of which the compressed version of the spatial component isincluded, and wherein the value expresses the quantization step size ora variable thereof used when compressing the plurality of spatialcomponents.

Clause 141541-7D. The device of any combination of clause 141541-1Dthrough clause 141541-6D, wherein the one or more processors are furtherconfigured to, when generating the bitstream, generate the bitstream toinclude a Huffman code to represent a category identifier thatidentifies a compression category to which the spatial componentcorresponds.

Clause 141541-8D. The device of any combination of clause 141541-1Dthrough clause 141541-7D, wherein the one or more processors are furtherconfigured to, when generating the bitstream, generate the bitstream toinclude a sign bit identifying whether the spatial component is apositive value or a negative value.

Clause 141541-9D. The device of any combination of clause 141541-1Dthrough clause 141541-8D, wherein the one or more processors are furtherconfigured to, when generating the bitstream, generate the bitstream toinclude a Huffman code to represent a residual value of the spatialcomponent.

Clause 141541-10D. The device of any combination of clause 141541-1Dthrough clause 141541-10D, wherein the vector based synthesis comprisesa singular value decomposition.

The audio encoding device 510H may further be configured to implementvarious aspects of the techniques as set forth in the following clauses.

Clause 141541-1E. A device, such as the audio encoding device 510H,comprising: one or more processors configured to compress a spatialcomponent of a sound field, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients.

Clause 141541-2E. The device of clause 141541-1E, wherein the one ormore processors are further configured to, when compressing the spatialcomponent, convert the spatial component from a floating pointrepresentation to an integer representation.

Clause 141541-3E. The device of any combination of clause 141541-1E andclause 141541-2E, wherein the one or more processors are furtherconfigured to, when compressing the spatial component, dynamicallydetermine a value indicative of a quantization step size, and quantizingthe spatial component based on the value to generate a quantized spatialcomponent.

Clause 141541-4E. The device of any combination of claims 1E-3E, whereinthe one or more processors are further configured to, when compressingthe spatial component, identify a category to which the spatialcomponent corresponds.

Clause 141541-5E. The device of any combination of clause 141541-1Ethrough clause 141541-4E, wherein the one or more processors are furtherconfigured to, when compressing the spatial component, identify aresidual value for the spatial component.

Clause 141541-6E. The device of any combination of clause 141541-1Ethrough clause 141541-5E, wherein the one or more processors are furtherconfigured to, when compressing the spatial component, perform aprediction with respect to the spatial component and a subsequentspatial component to generate a predicted spatial component.

Clause 141541-7E. The device of any combination of clause 141541-1E,wherein the one or more processors are further configured to, whencompressing the spatial component, convert the spatial component from afloating point representation to an integer representation, dynamicallydetermine a value indicative of a quantization step size, quantize theinteger representation of the spatial component based on the value togenerate a quantized spatial component, identify a category to which thespatial component corresponds based on the quantized spatial componentto generate a category identifier, determine a sign of the spatialcomponent, identify a residual value for the spatial component based onthe quantized spatial component and the category identifier, andgenerate a compressed version of the spatial component based on thecategory identifier, the sign and the residual value.

Clause 141541-8E. The device of any combination of clause 141541-1E,wherein the one or more processors are further configured to, whencompressing the spatial component, convert the spatial component from afloating point representation to an integer representation, dynamicallydetermine a value indicative of a quantization step size, quantize theinteger representation of the spatial component based on the value togenerate a quantized spatial component, perform a prediction withrespect to the spatial component and a subsequent spatial component togenerate a predicted spatial component, identify a category to which thepredicted spatial component corresponds based on the quantized spatialcomponent to generate a category identifier, determine a sign of thespatial component, identify a residual value for the spatial componentbased on the quantized spatial component and the category identifier,and generate a compressed version of the spatial component based on thecategory identifier, the sign and the residual value.

Clause 141541-9E. The device of any combination of clause 141541-1Ethrough clause 141541-8E, wherein the vector based synthesis comprises asingular value decomposition.

Various aspects of the techniques may furthermore enable the audioencoding device 510H to be configured to operate as set forth in thefollowing clauses.

Clause 141541-1F. A device, such as the audio encoding device 510H,comprising: one or more processors configured to identify a Huffmancodebook to use when compressing a current spatial component of aplurality of spatial components based on an order of the current spatialcomponent relative to remaining ones of the plurality of spatialcomponents, the spatial component generated by performing a vector basedsynthesis with respect to a plurality of spherical harmoniccoefficients.

Clause 141541-2F. The device of clause 141541-3F, wherein the one ormore processors are further configured to perform any combination of thesteps recited in clause 141541-1A through clause 141541-12A, clause141541-1B through clause 141541-10B, and clause 141541-1C through clause141541-9C.

Various aspects of the techniques may furthermore enable the audioencoding device 510H to be configured to operate as set forth in thefollowing clauses.

Clause 141541-1H. A device, such as the audio encoding device 510H,comprising: one or more processors configured to determine aquantization step size to be used when compressing a spatial componentof a sound field, the spatial component generated by performing a vectorbased synthesis with respect to a plurality of spherical harmoniccoefficients.

Clause 141541-2H. The device of clause 141541-1H, wherein the one ormore processors are further configured to, when determining thequantization step size, determine the quantization step size based on atarget bit rate.

Clause 141541-3H. The device of clause 141541-1H, wherein the one ormore processors are further configured to, when selecting one of theplurality of quantization step sizes, determine an estimate of a numberof bits used to represent the spatial component, and determine thequantization step size based on a difference between the estimate and atarget bit rate.

Clause 141541-4H. The device of clause 141541-1H, wherein the one ormore processors are further configured to, when selecting one of theplurality of quantization step sizes, determine an estimate of a numberof bits used to represent the spatial component, determine a differencebetween the estimate and a target bit rate, and determine thequantization step size by adding the difference to the target bit rate.

Clause 141541-5H. The device of clause 141541-3H or clause 141541-4H,wherein the one or more processors are further configured to, whendetermining the estimate of the number of bits, calculate the estimatedof the number of bits that are to be generated for the spatial componentgiven a code book corresponding to the target bit rate.

Clause 141541-6H. The device of clause 141541-3H or clause 141541-4H,wherein the one or more processors are further configured to, whendetermining the estimate of the number of bits, calculate the estimatedof the number of bits that are to be generated for the spatial componentgiven a coding mode used when compressing the spatial component.

Clause 141541-7H. The device of clause 141541-3H or clause 141541-4H,wherein the one or more processors are further configured to, whendetermining the estimate of the number of bits, calculate a firstestimate of the number of bits that are to be generated for the spatialcomponent given a first coding mode to be used when compressing thespatial component, calculate a second estimate of the number of bitsthat are to be generated for the spatial component given a second codingmode to be used when compressing the spatial component, select the oneof the first estimate and the second estimate having a least number ofbits to be used as the determined estimate of the number of bits.

Clause 141541-8H. The device of clause 141541-3H or clause 141541-4H,wherein the one or more processors are further configured to, whendetermine the estimate of the number of bits, identify a categoryidentifier identifying a category to which the spatial componentcorresponds, identify a bit length of a residual value for the spatialcomponent that would result when compressing the spatial componentcorresponding to the category, and determine the estimate of the numberof bits by, at least in part, adding a number of bits used to representthe category identifier to the bit length of the residual value.

Clause 141541-9H. The device of any combination of clause 141541-1Hthrough clause 141541-8H, wherein the vector based synthesis comprises asingular value decomposition.

Although described as being performed by the audio encoding device 510H,the techniques set forth in the above clauses clause 141541-1H throughclause 141541-9H may also be performed by the audio decoding device540D.

Additionally, various aspects of the techniques may enable the audioencoding device 510H to be configured to operate as set forth in thefollowing clauses.

Clause 141541-1J. A device, such as the audio encoding device 510J,comprising: one or more processors configured to select one of aplurality of code books to be used when compressing a spatial componentof a sound field, the spatial component generated by performing a vectorbased synthesis with respect to a plurality of spherical harmoniccoefficients.

Clause 141541-2J. The device of clause 141541-1J, wherein the one ormore processors are further configured to, when selecting one of theplurality of code books, determine an estimate of a number of bits usedto represent the spatial component using each of the plurality of codebooks, and select the one of the plurality of code books that resultedin the determined estimate having the least number of bits.

Clause 141541-3J. The device of clause 141541-1J, wherein the one ormore processors are further configured to, when selecting one of theplurality of code books, determine an estimate of a number of bits usedto represent the spatial component using one or more of the plurality ofcode books, the one or more of the plurality of code books selectedbased on an order of elements of the spatial component to be compressedrelative to other elements of the spatial component.

Clause 141541-4J. The device of clause 141541-1J, wherein the one ormore processors are further configured to, when selecting one of theplurality of code books, determine an estimate of a number of bits usedto represent the spatial component using one of the plurality of codebooks designed to be used when the spatial component is not predictedfrom a subsequent spatial component.

Clause 141541-5J. The device of clause 141541-1J, wherein the one ormore processors are further configured to, when selecting one of theplurality of code books, determine an estimate of a number of bits usedto represent the spatial component using one of the plurality of codebooks designed to be used when the spatial component is predicted from asubsequent spatial component.

Clause 141541-6J. The device of clause 141541-1J, wherein the one ormore processors are further configured to, when selecting one of theplurality of code books, determine an estimate of a number of bits usedto represent the spatial component using one of the plurality of codebooks designed to be used when the spatial component is representativeof a synthetic audio object in the sound field.

Clause 141541-7J. The device of clause 141541-1J, wherein the syntheticaudio object comprises a pulse code modulated (PCM) audio object.

Clause 141541-8J. The device of clause 141541-1J, wherein the one ormore processors are further configured to, when selecting one of theplurality of code books, determine an estimate of a number of bits usedto represent the spatial component using one of the plurality of codebooks designed to be used when the spatial component is representativeof a recorded audio object in the sound field.

Clause 141541-9J. The device of any combination of claims 1J-8J, whereinthe vector based synthesis comprises a singular value decomposition.

In each of the various instances described above, it should beunderstood that the audio encoding device 510 may perform a method orotherwise comprise means to perform each step of the method for whichthe audio encoding device 510 is configured to perform In someinstances, these means may comprise one or more processors. In someinstances, the one or more processors may represent a special purposeprocessor configured by way of instructions stored to a non-transitorycomputer-readable storage medium. In other words, various aspects of thetechniques in each of the sets of encoding examples may provide for anon-transitory computer-readable storage medium having stored thereoninstructions that, when executed, cause the one or more processors toperform the method for which the audio encoding device 510 has beenconfigured to perform.

FIG. 40J is a block diagram illustrating example audio encoding device510J that may perform various aspects of the techniques described inthis disclosure to compress spherical harmonic coefficients describingtwo or three dimensional soundfields. The audio encoding device 510J maybe similar to audio encoding device 510G in that audio encoding device510J includes an audio compression unit 512, an audio encoding unit 514and a bitstream generation unit 516. Moreover, the audio compressionunit 512 of the audio encoding device 510J may be similar to that of theaudio encoding device 510G in that the audio compression unit 512includes a decomposition unit 518 and a soundfield component extractionunit 520, which may operate similarly to like units of the audioencoding device 510I. In some examples, audio encoding device 510J mayinclude a quantization unit 534, as described with respect to FIGS.40D-40E, to quantize one or more vectors of any of the U_(DIST) vectors525C, the U_(BG) vectors 525D, the V^(T) _(DIST) vectors 525E, and theV^(T) _(BG) vectors 525J.

The audio compression unit 512 of the audio encoding device 510J may,however, differ from the audio compression unit 512 of the audioencoding device 510G in that the audio compression unit 512 of the audioencoding device 510J includes an additional unit denoted asinterpolation unit 550. The interpolation unit 550 may represent a unitthat interpolates sub-frames of a first audio frame from the sub-framesof the first audio frame and a second temporally subsequent or precedingaudio frame, as described in more detail below with respect to FIGS. 45and 45B. The interpolation unit 550 may, in performing thisinterpolation, reduce computational complexity (in terms of processingcycles and/or memory consumption) by potentially reducing the extent towhich the decomposition unit 518 is required to decompose SHC 511. Theinterpolation unit 550 may operate in a manner similar to that describedabove with respect to the interpolation unit 550 of the audio encodingdevices 510H and 510I shown in the examples of FIGS. 40H and 40I.

In operation, the interpolation unit 200 may interpolate one or moresub-frames of a first audio frame from a first decomposition, e.g., theV matrix 19′, of a portion of a first plurality of spherical harmoniccoefficients 11 included in the first frame and a second decomposition,e.g., V matrix 19′, of a portion of a second plurality of sphericalharmonic coefficients 11 included in a second frame to generatedecomposed interpolated spherical harmonic coefficients for the one ormore sub-frames.

Interpolation unit 550 may obtain decomposed interpolated sphericalharmonic coefficients for a time segment by, at least in part,performing an interpolation with respect to a first decomposition of afirst plurality of spherical harmonic coefficients and a seconddecomposition of a second plurality of spherical harmonic coefficients.Smoothing unit 554 may apply the decomposed interpolated sphericalharmonic coefficients to smooth at least one of spatial components andtime components of the first plurality of spherical harmoniccoefficients and the second plurality of spherical harmoniccoefficients. Smoothing unit 554 may generate smoothed U_(DIST) matrices525C′ as described above with respect to FIGS. 37-39. The first andsecond decompositions may refer to V₁ ^(T) 556, V₂ ^(T) 556B in FIG.40J.

In some cases, V^(T) or other V-vectors or V-matrices may be output in aquantized version for interpolation. In this way, the V vectors for theinterpolation may be identical to the V vectors at the decoder, whichalso performs the V vector interpolation, e.g., to recover themulti-dimensional signal.

In some examples, the first decomposition comprises the first V matrix519′ representative of right-singular vectors of the portion of thefirst plurality of spherical harmonic coefficients 511. Likewise, insome examples, the second decomposition comprises the second V matrix519′ representative of right-singular vectors of the portion of thesecond plurality of spherical harmonic coefficients.

The interpolation unit 550 may perform a temporal interpolation withrespect to the one or more sub-frames based on the first V matrix 519′and the second V matrix 19′. That is, the interpolation unit 550 maytemporally interpolate, for example, the second, third and fourthsub-frames out of four total sub-frames for the first audio frame basedon a V matrix 519′ decomposed from the first sub-frame of the firstaudio frame and the V matrix 519′ decomposed from the first sub-frame ofthe second audio frame. In some examples, this temporal interpolation isa linear temporal interpolation, where the V matrix 519′ decomposed fromthe first sub-frame of the first audio frame is weighted more heavilywhen interpolating the second sub-frame of the first audio frame thanwhen interpolating the fourth sub-frame of the first audio frame. Wheninterpolating the third sub-frame, the V matrices 519′ may be weightedevenly. When interpolating the fourth sub-frame, the V matrix 519′decomposed from the first sub-frame of the second audio frame may bemore heavily weighted than the V matrix 519′ decomposed from the firstsub-frame of the first audio frame.

In other words, the linear temporal interpolation may weight the Vmatrices 519′ given the proximity of the one of the sub-frames of thefirst audio frame to be interpolated. For the second sub-frame to beinterpolated, the V matrix 519′ decomposed from the first sub-frame ofthe first audio frame is weighted more heavily given its proximity tothe second sub-frame to be interpolated than the V matrix 519′decomposed from the first sub-frame of the second audio frame. Theweights may be equivalent for this reason when interpolating the thirdsub-frame based on the V matrices 519′. The weight applied to the Vmatrix 519′ decomposed from the first sub-frame of the second audioframe may be greater than that applied to the V matrix 519′ decomposedfrom the first sub-frame of the first audio frame given that the fourthsub-frame to be interpolated is more proximate to the first sub-frame ofthe second audio frame than the first sub-frame of the first audioframe.

In some examples, the interpolation unit 550 may project the first Vmatrix 519′ decomposed form the first sub-frame of the first audio frameinto a spatial domain to generate first projected decompositions. Insome examples, this projection includes a projection into a sphere(e.g., using a projection matrix, such as a T-design matrix). Theinterpolation unit 550 may then project the second V matrix 519′decomposed from the first sub-frame of the second audio frame into thespatial domain to generate second projected decompositions. Theinterpolation unit 550 may then spatially interpolate (which again maybe a linear interpolation) the first projected decompositions and thesecond projected decompositions to generate a first spatiallyinterpolated projected decomposition and a second spatially interpolatedprojected decomposition. The interpolation unit 550 may then temporallyinterpolate the one or more sub-frames based on the first spatiallyinterpolated projected decomposition and the second spatiallyinterpolated projected decomposition.

In those examples where the interpolation unit 550 spatially and thentemporally projects the V matrices 519′, the interpolation unit 550 mayproject the temporally interpolated spherical harmonic coefficientsresulting from interpolating the one or more sub-frames back to aspherical harmonic domain, thereby generating the V matrix 519, the Smatrix 519B and the U matrix 519C.

In some examples, the portion of the first plurality of sphericalharmonic coefficients comprises a single sub-frame of the firstplurality of spherical harmonic coefficients 511. In some examples, theportion of the second plurality of spherical harmonic coefficientscomprises a single sub-frame of the second plurality of sphericalharmonic coefficients 511. In some examples, this single sub-frame fromwhich the V matrices 19′ are decomposed is the first sub-frame.

In some examples, the first frame is divided into four sub-frames. Inthese and other examples, the portion of the first plurality ofspherical harmonic coefficients comprises only the first sub-frame ofthe plurality of spherical harmonic coefficients 511. In these and otherexamples, the second frame is divided into four sub-frames, and theportion of the second plurality of spherical harmonic coefficients 511comprises only the first sub-frame of the second plurality of sphericalharmonic coefficients 511.

Although, in some examples, only a first sub-frame of each audio frameis used to perform the interpolation, the portion of the first pluralityof spherical harmonic coefficients may comprise two of four sub-framesof the first plurality of spherical harmonic coefficients 511. In theseand other examples, the portion of the second plurality of sphericalharmonic coefficients 511 comprises two of four sub-frames of the secondplurality of spherical harmonic coefficients 511.

As noted above, a single device, e.g., audio encoding device 510J, mayperform the interpolation while also decomposing the portion of thefirst plurality of spherical harmonic coefficients to generate the firstdecompositions of the portion of the first plurality of sphericalharmonic coefficients. In these and other examples, the decompositionunit 518 may decompose the portion of the second plurality of sphericalharmonic coefficients to generate the second decompositions of theportion of the second plurality of spherical harmonic coefficients.While described with respect to a single device, two or more devices mayperform the techniques described in this disclosure, where one of thetwo devices performs the decomposition and another one of the devicesperforms the interpolation in accordance with the techniques describedin this disclosure.

In some examples, the decomposition unit 518 may perform a singularvalue decomposition with respect to the portion of the first pluralityof spherical harmonic coefficients 511 to generate a V matrix 519′ (aswell as an S matrix 519B′ and a U matrix 519C′, which are not shown forease of illustration purposes) representative of right-singular vectorsof the first plurality of spherical harmonic coefficients 511. In theseand other examples, the decomposition unit 518 may perform the singularvalue decomposition with respect to the portion of the second pluralityof spherical harmonic coefficients 511 to generate a V matrix 519′ (aswell as an S matrix 519B′ and a U matrix 519C′, which are not shown forease of illustration purposes) representative of right-singular vectorsof the second plurality of spherical harmonic coefficients.

In some examples, as noted above, the first and second plurality ofspherical harmonic coefficients each represent a planar waverepresentation of the soundfield. In these and other examples, the firstand second plurality of spherical harmonic coefficients 511 eachrepresent one or more mono-audio objects mixed together.

In other words, spherical harmonics-based 3D audio may be a parametricrepresentation of the 3D pressure field in terms of orthogonal basisfunctions on a sphere. The higher the order N of the representation, thepotentially higher the spatial resolution, and often the larger thenumber of spherical harmonics (SH) coefficients (for a total of (N+1)²coefficients). For many applications, a bandwidth compression of thecoefficients may be required for being able to transmit and store thecoefficients efficiently. This techniques directed in this disclosuremay provide a frame-based, dimensionality reduction process usingSingular Value Decomposition (SVD). The SVD analysis may decompose eachframe of coefficients into three matrices U, S and V. In some examples,the techniques may handle some of the vectors in U as directionalcomponents of the underlying soundfield. However, when handled in thismanner, these vectors (in U) are discontinuous from frame to frame—eventhough they represent the same distinct audio component. Thesediscontinuities may lead to significant artifacts when the componentsare fed through transform-audio-coders.

The techniques described in this disclosure may address thisdiscontinuity. That is, the techniques may be based on the observationthat the V matrix can be interpreted as orthogonal spatial axes in theSpherical Harmonics domain. The U matrix may represent a projection ofthe Spherical Harmonics (HOA) data in terms of those basis functions,where the discontinuity can be attributed to basis functions (V) thatchange every frame—and are therefore discontinuous themselves. This isunlike similar decomposition, such as the Fourier Transform, where thebasis functions are, in some examples, constant from frame to frame. Inthese terms, the SVD may be considered of as a matching pursuitalgorithm. The techniques described in this disclosure may enable theinterpolation unit 550 to maintain the continuity between the basisfunctions (V) from frame to frame—by interpolating between them.

In some examples, the techniques enable the interpolation unit 550 todivide the frame of SH data into four subframes, as described above andfurther described below with respect to FIGS. 45 and 45B. Theinterpolation unit 550 may then compute the SVD for the first sub-frame.Similarly we compute the SVD for the first sub-frame of the secondframe. For each of the first frame and the second frame, theinterpolation unit 550 may convert the vectors in V to a spatial map byprojecting the vectors onto a sphere (using a projection matrix such asa T-design matrix). The interpolation unit 550 may then interpret thevectors in V as shapes on a sphere. To interpolate the V matrices forthe three sub-frames in between the first sub-frame of the first framethe first sub-frame of the next frame, the interpolation unit 550 maythen interpolate these spatial shapes—and then transform them back tothe SH vectors via the inverse of the projection matrix. The techniquesof this disclosure may, in this manner, provide a smooth transitionbetween V matrices.

FIG. 41-41D are block diagrams each illustrating an example audiodecoding device 540A-540D that may perform various aspects of thetechniques described in this disclosure to decode spherical harmoniccoefficients describing two or three dimensional soundfields. The audiodecoding device 540A may represents any device capable of decoding audiodata, such as a desktop computer, a laptop computer, a workstation, atablet or slate computer, a dedicated audio recording device, a cellularphone (including so-called “smart phones”), a personal media playerdevice, a personal gaming device, or any other type of device capable ofdecoding audio data.

In some examples, the audio decoding device 540A performs an audiodecoding process that is reciprocal to the audio encoding processperformed by any of the audio encoding devices 510 or 510B with theexception of performing the order reduction (as described above withrespect to the examples of FIGS. 40B-40J), which is, in some examples,used by the audio encoding devices 510B-510J to facilitate the removalof extraneous irrelevant data.

While shown as a single device, i.e., the device 540A in the example ofFIG. 41, the various components or units referenced below as beingincluded within the device 540A may form separate devices that areexternal from the device 540. In other words, while described in thisdisclosure as being performed by a single device, i.e., the device 540Ain the example of FIG. 41, the techniques may be implemented orotherwise performed by a system comprising multiple devices, where eachof these devices may each include one or more of the various componentsor units described in more detail below. Accordingly, the techniquesshould not be limited in this respect to the example of FIG. 41.

As shown in the example of FIG. 41, the audio decoding device 540Acomprises an extraction unit 542, an audio decoding unit 544, a mathunit 546, and an audio rendering unit 548. The extraction unit 542represents a unit configured to extract the encoded reduced backgroundspherical harmonic coefficients 515B, the encoded U_(DIST)*S_(DIST)vectors 515A and the V^(T) _(DIST) vectors 525E from the bitstream 517.The extraction unit 542 outputs the encoded reduced background sphericalharmonic coefficients 515B and the encoded U_(DIST)*S_(DIST) vectors515A to audio decoding unit 544, while also outputting and the V^(T)_(DIST) matrix 525E to the math unit 546. In this respect, theextraction unit 542 may operate in a manner similar to the extractionunit 72 of the audio decoding device 24 shown in the example of FIG. 5.

The audio decoding unit 544 represents a unit to decode the encodedaudio data (often in accordance with a reciprocal audio decoding scheme,such as an AAC decoding scheme) so as to recover the U_(DIST)*S_(DIST)vectors 527 and the reduced background spherical harmonic coefficients529. The audio decoding unit 544 outputs the U_(DIST)*S_(DIST) vectors527 and the reduced background spherical harmonic coefficients 529 tothe math unit 546. In this respect, the audio decoding unit 544 mayoperate in a manner similar to the psychoacoustic decoding unit 80 ofthe audio decoding device 24 shown in the example of FIG. 5.

The math unit 546 may represent a unit configured to perform matrixmultiplication and addition (as well as, in some examples, any othermatrix math operation). The math unit 546 may first perform a matrixmultiplication of the U_(DIST)*S_(DIST) vectors 527 by the V^(T) _(DIST)matrix 525E. The math unit 546 may then add the result of themultiplication of the U_(DIST)*S_(DIST) vectors 527 by the V^(T) _(DIST)matrix 525E by the reduced background spherical harmonic coefficients529 (which, again, may refer to the result of the multiplication of theU_(BG) matrix 525D by the S_(BG) matrix 525B and then by the V^(T) _(BG)matrix 525F) to the result of the matrix multiplication of theU_(DIST)*S_(DIST) vectors 527 by the V^(T) _(DIST) matrix 525E togenerate the reduced version of the original spherical harmoniccoefficients 11, which is denoted as recovered spherical harmoniccoefficients 547. The math unit 546 may output the recovered sphericalharmonic coefficients 547 to the audio rendering unit 548. In thisrespect, the math unit 546 may operate in a manner similar to theforeground formulation unit 78 and the HOA coefficient formulation unit82 of the audio decoding device 24 shown in the example of FIG. 5.

The audio rendering unit 548 represents a unit configured to render thechannels 549A-549N (the “channels 549,” which may also be generallyreferred to as the “multi-channel audio data 549” or as the “loudspeakerfeeds 549”). The audio rendering unit 548 may apply a transform (oftenexpressed in the form of a matrix) to the recovered spherical harmoniccoefficients 547. Because the recovered spherical harmonic coefficients547 describe the soundfield in three dimensions, the recovered sphericalharmonic coefficients 547 represent an audio format that facilitatesrendering of the multichannel audio data 549A in a manner that iscapable of accommodating most decoder-local speaker geometries (whichmay refer to the geometry of the speakers that will playbackmulti-channel audio data 549). More information regarding the renderingof the multi-channel audio data 549A is described above with respect toFIG. 48.

While described in the context of the multi-channel audio data 549Abeing surround sound multi-channel audio data 549, the audio renderingunit 48 may also perform a form of binauralization to binauralize therecovered spherical harmonic coefficients 549A and thereby generate twobinaurally rendered channels 549. Accordingly, the techniques should notbe limited to surround sound forms of multi-channel audio data, but mayinclude binauralized multi-channel audio data.

The various clauses listed below may present various aspects of thetechniques described in this disclosure.

Clause 132567-1B. A device, such as the audio decoding device 540,comprising: one or more processors configured to determine one or morefirst vectors describing distinct components of the sound field and oneor more second vectors describing background components of the soundfield, both the one or more first vectors and the one or more secondvectors generated at least by performing a singular value decompositionwith respect to the plurality of spherical harmonic coefficients.

Clause 132567-2B. The device of clause 132567-1B, wherein the one ormore first vectors comprise one or more audio encoded U_(DIST)*S_(DIST)vectors that, prior to audio encoding, were generated by multiplying oneor more audio encoded U_(DIST) vectors of a U matrix by one or moreS_(DIST) vectors of an S matrix, wherein the U matrix and the S matrixare generated at least by performing the singular value decompositionwith respect to the plurality of spherical harmonic coefficients, andwherein the one or more processors are further configured to audiodecode the one or more audio encoded U_(DIST)*S_(DIST) vectors togenerate an audio decoded version of the one or more audio encodedU_(DIST)*S_(DIST) vectors.

Clause 132567-3B. The device of clause 132567-1B, wherein the one ormore first vectors comprise one or more audio encoded U_(DIST)*S_(DIST)vectors that, prior to audio encoding, were generated by multiplying oneor more audio encoded U_(DIST) vectors of a U matrix by one or moreS_(DIST) vectors of an S matrix, and one or more V^(T) _(DIST) vectorsof a transpose of a V matrix, wherein the U matrix and the S matrix andthe V matrix are generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients, and wherein the one or more processors are furtherconfigured to audio decode the one or more audio encodedU_(DIST)*S_(DIST) vectors to generate an audio decoded version of theone or more audio encoded U_(DIST)*S_(DIST) vectors.

Clause 132567-4B. The device of clause 132567-3B, wherein the one ormore processors are further configured to multiply the U_(DIST)*S_(DIST)vectors by the V^(T) _(DIST) vectors to recover those of the pluralityof spherical harmonics representative of the distinct components of thesound field.

Clause 132567-5B. The device of clause 132567-1B, wherein the one ormore second vectors comprise one or more audio encodedU_(BG)*S_(BG)*V^(T) _(BG) vectors that, prior to audio encoding, weregenerating by multiplying U_(BG) vectors included within a U matrix byS_(BG) vectors included within an S matrix and then by V^(T) _(BG)vectors included within a transpose of a V matrix, and wherein the Smatrix, the U matrix and the V matrix were each generated at least byperforming the singular value decomposition with respect to theplurality of spherical harmonic coefficients.

Clause 132567-6B. The device of clause 132567-1B, wherein the one ormore second vectors comprise one or more audio encodedU_(BG)*S_(BG)*V^(T) _(BG) vectors that, prior to audio encoding, weregenerating by multiplying U_(BG) vectors included within a U matrix byS_(BG) vectors included within an S matrix and then by V^(T) _(BG)vectors included within a transpose of a V matrix, and wherein the Smatrix, the U matrix and the V matrix were generated at least byperforming the singular value decomposition with respect to theplurality of spherical harmonic coefficients, and wherein the one ormore processors are further configured to audio decode the one or moreaudio encoded U_(BG)*S_(BG)*V^(T) _(BG) vectors to generate one or moreaudio decoded U_(BG)*S_(BG)*V^(T) _(BG) vectors.

Clause 132567-7B. The device of clause 132567-1B, wherein the one ormore first vectors comprise one or more audio encoded U_(DIST)*S_(DIST)vectors that, prior to audio encoding, were generated by multiplying oneor more audio encoded U_(DIST) vectors of a U matrix by one or moreS_(DIST) vectors of an S matrix, and one or more V^(T) _(DIST) vectorsof a transpose of a V matrix, wherein the U matrix, the S matrix and theV matrix were generated at least by performing the singular valuedecomposition with respect to the plurality of spherical harmoniccoefficients, and wherein the one or more processors are furtherconfigured to audio decode the one or more audio encodedU_(DIST)*S_(DIST) vectors to generate the one or more U_(DIST)*S_(DIST)vectors, and multiply the U_(DIST)*S_(DIST) vectors by the V^(T) _(DIST)vectors to recover those of the plurality of spherical harmoniccoefficients that describe the distinct components of the sound field,wherein the one or more second vectors comprise one or more audioencoded U_(BG)*S_(BG)*V^(T) _(BG) vectors that, prior to audio encoding,were generating by multiplying U_(BG) vectors included within the Umatrix by S_(BG) vectors included within the S matrix and then by V^(T)_(BG) vectors included within the transpose of the V matrix, and whereinthe one or more processors are further configured to audio decode theone or more audio encoded U_(BG)*S_(BG)*V^(T) _(BG) vectors to recoverat least a portion of the plurality of the spherical harmoniccoefficients that describe background components of the sound field, andadd the plurality of spherical harmonic coefficients that describe thedistinct components of the sound field to the at least portion of theplurality of the spherical harmonic coefficients that describebackground components of the sound field to generate a reconstructedversion of the plurality of spherical harmonic coefficients.

Clause 132567-8B. The device of clause 132567-1B, wherein the one ormore first vectors comprise one or more U_(DIST)*S_(DIST) vectors that,prior to audio encoding, were generated by multiplying one or more audioencoded U_(DIST) vectors of a U matrix by one or more S_(DIST) vectorsof an S matrix, and one or more V^(T) _(DIST) vectors of a transpose ofa V matrix, wherein the U matrix, the S matrix and the V matrix weregenerated at least by performing the singular value decomposition withrespect to the plurality of spherical harmonic coefficients, and whereinthe one or more processors are further configured to determine a value Dindicating the number of vectors to be extracted from a bitstream toform the one or more U_(DIST)*S_(DIST) vectors and the one or more V^(T)_(DIST) vectors.

Clause 132567-9B. The device of clause 132567-10B, wherein the one ormore first vectors comprise one or more U_(DIST)*S_(DIST) vectors that,prior to audio encoding, were generated by multiplying one or more audioencoded U_(DIST) vectors of a U matrix by one or more S_(DIST) vectorsof an S matrix, and one or more V^(T) _(DIST) vectors of a transpose ofa V matrix, wherein the U matrix, the S matrix and the V matrix weregenerated at least by performing the singular value decomposition withrespect to the plurality of spherical harmonic coefficients, and whereinthe one or more processors are further configured to determine a value Don an audio-frame-by-audio-frame basis that indicates the number ofvectors to be extracted from a bitstream to form the one or moreU_(DIST)*S_(DIST) vectors and the one or more V^(T) _(DIST) vectors.

Clause 132567-1G. A device, such as the audio decoding device 540,comprising: one or more processors configured to determine one or morefirst vectors describing distinct components of a sound field and one ormore second vectors describing background components of the sound field,both the one or more first vectors and the one or more second vectorsgenerated at least by performing a singular value decomposition withrespect to multi-channel audio data representative of at least a portionof the sound field.

Clause 132567-2G. The device of clause 132567-1G, wherein themulti-channel audio data comprises a plurality of spherical harmoniccoefficients.

Clause 132567-3G. The device of clause 132567-2G, wherein the one ormore processors are further configured to perform any combination of theclause 132567-2B through clause 132567-9B.

From each of the various clauses described above, it should beunderstood that any of the audio decoding devices 540A-540D may performa method or otherwise comprise means to perform each step of the methodfor which the audio decoding devices 540A-540D is configured to performIn some instances, these means may comprise one or more processors. Insome instances, the one or more processors may represent a specialpurpose processor configured by way of instructions stored to anon-transitory computer-readable storage medium. In other words, variousaspects of the techniques in each of the sets of encoding examples mayprovide for a non-transitory computer-readable storage medium havingstored thereon instructions that, when executed, cause the one or moreprocessors to perform the method for which the audio decoding devices540A-540D has been configured to perform.

For example, a clause 132567-10B may be derived from the foregoingclause 132567-1B to be a method comprising A method comprising:determining one or more first vectors describing distinct components ofa sound field and one or more second vectors describing backgroundcomponents of the sound field, both the one or more first vectors andthe one or more second vectors generated at least by performing asingular value decomposition with respect to a plurality of sphericalharmonic coefficients that represent the sound field.

As another example, a clause 132567-11B may be derived from theforegoing clause 132567-1B to be a device, such as the audio decodingdevice 540, comprising means for determining one or more first vectorsdescribing distinct components of the sound field and one or more secondvectors describing background components of the sound field, both theone or more first vectors and the one or more second vectors generatedat least by performing a singular value decomposition with respect tothe plurality of spherical harmonic coefficients; and means for storingthe one or more first vectors and the one or more second vectors.

As yet another example, a clause 132567-12B may be derived from theforegoing clause 132567-1B to be a non-transitory computer-readablestorage medium having stored thereon instructions that, when executed,cause one or more processor to determine one or more first vectorsdescribing distinct components of a sound field and one or more secondvectors describing background components of the sound field, both theone or more first vectors and the one or more second vectors generatedat least by performing a singular value decomposition with respect to aplurality of spherical harmonic coefficients included within higherorder ambisonics audio data that describe the sound filed.

Various clauses may likewise be derived from clauses 132567-2B through132567-9B for the various devices, methods and non-transitorycomputer-readable storage mediums derived as exemplified above. The samemay be performed for the various other clauses listed throughout thisdisclosure.

FIG. 41B is a block diagram illustrating an example audio decodingdevice 540B that may perform various aspects of the techniques describedin this disclosure to decode spherical harmonic coefficients describingtwo or three dimensional soundfields. The audio decoding device 540B maybe similar to the audio decoding device 540, except that, in someexamples, the extraction unit 542 may extract reordered V^(T) _(DIST)vectors 539 rather than V^(T) _(DIST) vectors 525E. In other examples,the extraction unit 542 may extract the V^(T) _(DIST) vectors 525E andthen reorder these V^(T) _(DIST) vectors 525E based on reorderinformation specified in the bitstream or inferred (through analysis ofother vectors) to determine the reordered V^(T) _(DIST) vectors 539. Inthis respect, the extraction unit 542 may operate in a manner similar tothe extraction unit 72 of the audio decoding device 24 shown in theexample of FIG. 5. In any event, the extraction unit 542 may output thereordered V^(T) _(DIST) vectors 539 to the math unit 546, where theprocess described above with respect to recovering the sphericalharmonic coefficients may be performed with respect to these reorderedV^(T) _(DIST) vectors 539.

In this way, the techniques may enable the audio decoding device 540B toaudio decode reordered one or more vectors representative of distinctcomponents of a soundfield, the reordered one or more vectors havingbeen reordered to facilitate compressing the one or more vectors. Inthese and other examples, the audio decoding device 540B may recombinethe reordered one or more vectors with reordered one or more additionalvectors to recover spherical harmonic coefficients representative ofdistinct components of the soundfield. In these and other examples, theaudio decoding device 540B may then recover a plurality of sphericalharmonic coefficients based on the spherical harmonic coefficientsrepresentative of distinct components of the soundfield and sphericalharmonic coefficients representative of background components of thesoundfield.

That is, various aspects of the techniques may provide for the audiodecoding device 540B to be configured to decode reordered one or morevectors according to the following clauses.

Clause 133146-1F. A device, such as the audio encoding device 540B,comprising: one or more processors configured to determine a number ofvectors corresponding to components in the sound field.

Clause 133146-2F. The device of clause 133146-1F, wherein the one ormore processors are configured to determine the number of vectors afterperforming order reduction in accordance with any combination of theinstances described above.

Clause 133146-3F. The device of clause 133146-1F, wherein the one ormore processors are further configured to perform order reduction inaccordance with any combination of the instances described above.

Clause 133146-4F. The device of clause 133146-1F, wherein the one ormore processors are configured to determine the number of vectors from avalue specified in a bitstream, and wherein the one or more processorsare further configured to parse the bitstream based on the determinednumber of vectors to identify one or more vectors in the bitstream thatrepresent distinct components of the sound field.

Clause 133146-5F. The device of clause 133146-1F, wherein the one ormore processors are configured to determine the number of vectors from avalue specified in a bitstream, and wherein the one or more processorsare further configured to parse the bitstream based on the determinednumber of vectors to identify one or more vectors in the bitstream thatrepresent background components of the sound field.

Clause 133143-1C. A device, such as the audio decoding device 540B,comprising: one or more processors configured to reorder reordered oneor more vectors representative of distinct components of a sound field.

Clause 133143-2C. The device of clause 133143-1C, wherein the one ormore processors are further configured to determine the reordered one ormore vectors, and determine reorder information describing how thereordered one or more vectors were reordered, wherein the one or moreprocessors are further configured to, when reordering the reordered oneor more vectors, reorder the reordered one or more vectors based on thedetermined reorder information.

Clause 133143-3C. The device of 1C, wherein the reordered one or morevectors comprise the one or more reordered first vectors recited by anycombination of claims 1A-18A or any combination of claims 1B-19B, andwherein the one or more first vectors are determined in accordance withthe method recited by any combination of claims 1A-18A or anycombination of claims 1B-19B.

Clause 133143-4D. A device, such as the audio decoding device 540B,comprising: one or more processors configured to audio decode reorderedone or more vectors representative of distinct components of a soundfield, the reordered one or more vectors having been reordered tofacilitate compressing the one or more vectors.

Clause 133143-5D. The device of clause 133143-4D, wherein the one ormore processors are further configured to recombine the reordered one ormore vectors with reordered one or more additional vectors to recoverspherical harmonic coefficients representative of distinct components ofthe sound field.

Clause 133143-6D. The device of clause 133143-5D, wherein the one ormore processors are further configured to recover a plurality ofspherical harmonic coefficients based on the spherical harmoniccoefficients representative of distinct components of the sound fieldand spherical harmonic coefficients representative of backgroundcomponents of the sound field.

Clause 133143-1E. A device, such as the audio decoding device 540B,comprising: one or more processors configured to reorder one or morevectors to generate reordered one or more first vectors and therebyfacilitate encoding by a legacy audio encoder, wherein the one or morevectors describe represent distinct components of a sound field, andaudio encode the reordered one or more vectors using the legacy audioencoder to generate an encoded version of the reordered one or morevectors.

Clause 133143-2E. The device of 1E, wherein the reordered one or morevectors comprise the one or more reordered first vectors recited by anycombination of claims 1A-18A or any combination of claims 1B-19B, andwherein the one or more first vectors are determined in accordance withthe method recited by any combination of claims 1A-18A or anycombination of claims 1B-19B.

FIG. 41C is a block diagram illustrating another exemplary audioencoding device 540C. The audio decoding device 540C may represent anydevice capable of decoding audio data, such as a desktop computer, alaptop computer, a workstation, a tablet or slate computer, a dedicatedaudio recording device, a cellular phone (including so-called “smartphones”), a personal media player device, a personal gaming device, orany other type of device capable of decoding audio data.

In the example of FIG. 41C, the audio decoding device 540C performs anaudio decoding process that is reciprocal to the audio encoding processperformed by any of the audio encoding devices 510B-510E with theexception of performing the order reduction (as described above withrespect to the examples of FIGS. 40B-40J), which is, in some examples,used by the audio encoding device 510B-510J to facilitate the removal ofextraneous irrelevant data.

While shown as a single device, i.e., the device 540C in the example ofFIG. 41C, the various components or units referenced below as beingincluded within the device 540C may form separate devices that areexternal from the device 540C. In other words, while described in thisdisclosure as being performed by a single device, i.e., the device 540Cin the example of FIG. 41C, the techniques may be implemented orotherwise performed by a system comprising multiple devices, where eachof these devices may each include one or more of the various componentsor units described in more detail below. Accordingly, the techniquesshould not be limited in this respect to the example of FIG. 41C.

Moreover, the audio encoding device 540C may be similar to the audioencoding device 540B. However, the extraction unit 542 may determine theone or more V^(T) _(SMALL) vectors 521 from the bitstream 517 ratherthan reordered V^(T) _(Q) _(—) _(DIST) vectors 539 or V^(T) _(DIST)vectors 525E (as is the case described with respect to the audioencoding device 510 of FIG. 40). As a result, the extraction unit 542may pass the V^(T) _(SMALL) vectors 521 to the math unit 546.

In addition, the extraction unit 542 may determine audio encodedmodified background spherical harmonic coefficients 515B′ from thebitstream 517, passing these coefficients 515B′ to the audio decodingunit 544, which may audio decode the encoded modified backgroundspherical harmonic coefficients 515B to recover the modified backgroundspherical harmonic coefficients 537. The audio decoding unit 544 maypass these modified background spherical harmonic coefficients 537 tothe math unit 546.

The math unit 546 may then multiply the audio decoded (and possiblyunordered) U_(DIST)*S_(DIST) vectors 527′ by the one or more V^(T)_(SMALL) vectors 521 to recover the higher order distinct sphericalharmonic coefficients. The math unit 546 may then add the higher-orderdistinct spherical harmonic coefficients to the modified backgroundspherical harmonic coefficients 537 to recover the plurality of thespherical harmonic coefficients 511 or some derivative thereof (whichmay be a derivative due to order reduction performed at the encoder unit510E).

In this way, the techniques may enable the audio decoding device 540C todetermine, from a bitstream, at least one of one or more vectorsdecomposed from spherical harmonic coefficients that were recombinedwith background spherical harmonic coefficients to reduce an amount ofbits required to be allocated to the one or more vectors in thebitstream, wherein the spherical harmonic coefficients describe asoundfield, and wherein the background spherical harmonic coefficientsdescribed one or more background components of the same soundfield.

Various aspects of the techniques may in this respect enable the audiodecoding device 540C to, in some instances, be configured to determine,from a bitstream, at least one of one or more vectors decomposed fromspherical harmonic coefficients that were recombined with backgroundspherical harmonic coefficients, wherein the spherical harmoniccoefficients describe a sound field, and wherein the backgroundspherical harmonic coefficients described one or more backgroundcomponents of the same sound field.

In these and other instances, the audio decoding device 540C isconfigured to obtain, from the bitstream, a first portion the sphericalharmonic coefficients having an order equal to N_(BG).

In these and other instances, the audio decoding device 540C is furtherconfigured to obtain, from the bitstream, a first audio encoded portionthe spherical harmonic coefficients having an order equal to N_(BG), andaudio decode the audio encoded first portion of the spherical harmoniccoefficients to generate a first portion of the spherical harmoniccoefficients.

In these and other instances, the at least one of the one or morevectors comprise one or more V^(T) _(SMALL) vectors, the one or moreV^(T) _(SMALL) vectors having been determined from a transpose of a Vmatrix generated by performing a singular value decomposition withrespect to the plurality of spherical harmonic coefficients.

In these and other instances, the at least one of the one or morevectors comprise one or more V^(T) _(SMALL) vectors, the one or moreV^(T) _(SMALL) vectors having been determined from a transpose of a Vmatrix generated by performing a singular value decomposition withrespect to the plurality of spherical harmonic coefficients, and theaudio decoding device 540C is further configured to obtain, from thebitstream, one or more U_(DIST)*S_(DIST) vectors having been derivedfrom a U matrix and an S matrix, both of which were generated byperforming the singular value decomposition with respect to theplurality of spherical harmonic coefficients, and multiply theU_(DIST)*S_(DIST) vectors by the V^(T) _(SMALL) vectors.

In these and other instances, the at least one of the one or morevectors comprise one or more V^(T) _(SMALL) vectors, the one or moreV^(T) _(SMALL) vectors having been determined from a transpose of a Vmatrix generated by performing a singular value decomposition withrespect to the plurality of spherical harmonic coefficients, and theaudio decoding device 540C is further configured to obtain, from thebitstream, one or more U_(DIST)*S_(DIST) vectors having been derivedfrom a U matrix and an S matrix, both of which were generated byperforming the singular value decomposition with respect to theplurality of spherical harmonic coefficients, multiply theU_(DIST)*S_(DIST) vectors by the V^(T) _(SMALL) vectors to recoverhigher-order distinct background spherical harmonic coefficients, andadd the background spherical harmonic coefficients that include thelower-order distinct background spherical harmonic coefficients to thehigher-order distinct background spherical harmonic coefficients torecover, at least in part, the plurality of spherical harmoniccoefficients.

In these and other instances, the at least one of the one or morevectors comprise one or more V^(T) _(SMALL) vectors, the one or moreV^(T) _(SMALL) vectors having been determined from a transpose of a Vmatrix generated by performing a singular value decomposition withrespect to the plurality of spherical harmonic coefficients, and theaudio decoding device 540C is further configured to obtain, from thebitstream, one or more U_(DIST)*S_(DIST) vectors having been derivedfrom a U matrix and an S matrix, both of which were generated byperforming the singular value decomposition with respect to theplurality of spherical harmonic coefficients, multiply theU_(DIST)*S_(DIST) vectors by the V^(T) _(SMALL) vectors to recoverhigher-order distinct background spherical harmonic coefficients, addthe background spherical harmonic coefficients that include thelower-order distinct background spherical harmonic coefficients to thehigher-order distinct background spherical harmonic coefficients torecover, at least in part, the plurality of spherical harmoniccoefficients, and render the recovered plurality of spherical harmoniccoefficients.

FIG. 41D is a block diagram illustrating another exemplary audioencoding device 540D. The audio decoding device 540D may represent anydevice capable of decoding audio data, such as a desktop computer, alaptop computer, a workstation, a tablet or slate computer, a dedicatedaudio recording device, a cellular phone (including so-called “smartphones”), a personal media player device, a personal gaming device, orany other type of device capable of decoding audio data.

In the example of FIG. 41D, the audio decoding device 540D performs anaudio decoding process that is reciprocal to the audio encoding processperformed by any of the audio encoding devices 510B-510J with theexception of performing the order reduction (as described above withrespect to the examples of FIGS. 40B-40J), which is, in some examples,used by the audio encoding devices 510B-510J to facilitate the removalof extraneous irrelevant data.

While shown as a single device, i.e., the device 540D in the example ofFIG. 41D, the various components or units referenced below as beingincluded within the device 540D may form separate devices that areexternal from the device 540D. In other words, while described in thisdisclosure as being performed by a single device, i.e., the device 540Din the example of FIG. 41D, the techniques may be implemented orotherwise performed by a system comprising multiple devices, where eachof these devices may each include one or more of the various componentsor units described in more detail below. Accordingly, the techniquesshould not be limited in this respect to the example of FIG. 41D.

Moreover, the audio decoding device 540D may be similar to the audiodecoding device 540B, except that the audio decoding device 540Dperforms an additional V decompression that is generally reciprocal tothe compression performed by V compression unit 552 described above withrespect to FIG. 40I. In the example of FIG. 41D, extraction unit 542includes a V decompression unit 555 that performs this V decompressionof the compressed spatial components 539′ included in the bitstream 517(and generally specified in accordance with the example shown in one ofFIGS. 10B and 10C). The V decompression unit 555 may decompress V^(T)_(DIST) vectors 539 based on the following equation:

${\hat{v}}_{q} = \left\{ \begin{matrix}{0,} & {{{if}\mspace{14mu} {cid}} = 0} \\{{{sgn}*\left( {2^{{cid} - 1} + {residual}} \right)},} & {{{if}\mspace{14mu} {cid}} \neq 0}\end{matrix} \right.$

In other words, the V decompression unit 555 may first parse the nbitsvalue from the bitstream 517 and identify the appropriate set of fiveHuffman code tables to use when decoding the Huffman code representativeof the cid. Based on the prediction mode and the Huffman codinginformation specified in the bitstream 517 and possibly the order of theelement of the spatial component relative to the other elements of thespatial component, the V decompression unit 555 may identify the correctone of the five Huffman tables defined for the parsed nbits value. Usingthis Huffman table, the V decompression unit 555 may decode the cidvalue from the Huffman code. The V decompression unit 555 may then parsethe sign bit and the residual block code, decoding the residual blockcode to identify the residual. In accordance with the above equation,the V decompression unit 555 may decode one of the V^(T) _(DIST) vectors539.

The foregoing may be summarized in the following syntax table:

TABLE Decoded Vectors No. of Syntax bits Mnemonic decodeVVec(i) { switch codedVVecLength {  case 0: //complete Vector   VVecLength =NumOfHoaCoeffs;   for (m=0; m< VVecLength; ++m){ VecCoeff[m] = m+1; }  break;  case 1: //lower orders are removed   VVecLength =NumOfHoaCoeffs − MinNumOfCoeffsForAmbHOA;    for (m=0; m< VVecLength;++m){   VecCoeff[m] = m + MinNumOfCoeffsForAmbHOA + 1;    }   break; case 2:   VVecLength = NumOfHoaCoeffs − MinNumOfCoeffsForAmbHOA −NumOfAddAmbHoaChan;   n = 0;   for(m=0;m<NumOfHoaCoeffs−MinNumOfCoeffsForAmbHOA; ++m){    c = m + MinNumOfCoeffsForAmbHOA + 1;   if ( ismember(c, AmbCoeffIdx) == 0){    VecCoeff[n] = c;    n++;   }  }   break;  case 3:   VVecLength = NumOfHoaCoeffs −NumOfAddAmbHoaChan;   n = 0;   for(m=0; m<NumOfHoaCoeffs; ++m){   c =m + 1;   if ( ismember(c, AmbCoeffIdx) == 0){   VecCoeff[n] = c;   n++;  }  }  }  if (NbitsQ[i] == 5) { /* uniform quantizer */  for (m=0; m<VVecLength; ++m){   VVec(k)[i][m] = (VecValue / 128.0) − 1.0; 8 uimsbf }  }  else { /* Huffman decoding */  for (m=0; m< VVecLength; ++m){  Idx = 5;   If (CbFlag[i] == 1) {   idx = (min(3, max(1,ceil(sqrt(VecCoeff[m]) − 1)));   }   else if (PFlag[i] == 1) {idx = 4;}  cid = dynamic huffDecodehuffDecode(huffmannTable[NbitsQ].codebook[idx]; huffVal);   if( cid > 0) {   aVal = sgn = (sgnVal * 2) − 1; 1 bslbf   if (cid > 1) {    aVal =sgn * (2.0{circumflex over ( )}(cid −1 ) + intAddVal); cid − 1 uimsbf  }   } else {aVal = 0.0;}  }  } } NOTE: The encoder function for theuniform quantizer is min(255, round((x + 1.0) * 128.0)) The No. of bitsfor the Mnemonic huffDecode is dynamic

In the foregoing syntax table, the first switch statement with the fourcases (case 0-3) provides for a way by which to determine the V^(T)_(DIST) vector length in terms of the number of coefficients. The firstcase, case 0, indicates that all of the coefficients for the V^(T)_(DIST) vectors are specified. The second case, case 1, indicates thatonly those coefficients of the V^(T) _(DIST) vector corresponding to anorder greater than a MinNumOfCoeffsForAmbHOA are specified, which maydenote what is referred to as (N_(DIST)+1)−(N_(BG)+1) above. The thirdcase, case 2, is similar to the second case but further subtractscoefficients identified by NumOfAddAmbHoaChan, which denotes a variablefor specifying additional channels (where “channels” refer to aparticular coefficient corresponding to a certain order, sub-ordercombination) corresponding to an order that exceeds the order N_(BG).The fourth case, case 3, indicates that only those coefficients of theV^(T) _(DIST) vector left after removing coefficients identified byNumOfAddAmbHoaChan are specified.

After this switch statement, the decision of whether to perform unifieddequantization is controlled by NbitsQ (or, as denoted above, nbits),which if not equal to 5, results in application of Huffman decoding. Thecid value referred to above is equal to the two least significant bitsof the NbitsQ value. The prediction mode discussed above is denoted asthe PFlag in the above syntax table, while the HT info bit is denoted asthe CbFlag in the above syntax table. The remaining syntax specifies howthe decoding occurs in a manner substantially similar to that describedabove.

In this way, the techniques of this disclosure may enable the audiodecoding device 540D to obtain a bitstream comprising a compressedversion of a spatial component of a soundfield, the spatial componentgenerated by performing a vector based synthesis with respect to aplurality of spherical harmonic coefficients, and decompress thecompressed version of the spatial component to obtain the spatialcomponent.

Moreover, the techniques may enable the audio decoding device 540D todecompress a compressed version of a spatial component of a soundfield,the spatial component generated by performing a vector based synthesiswith respect to a plurality of spherical harmonic coefficients.

In this way, the audio encoding device 540D may perform various aspectsof the techniques set forth below with respect to the following clauses.

Clause 141541-1B. A device comprising:

one or more processors configured to obtain a bitstream comprising acompressed version of a spatial component of a sound field, the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients, and decompress thecompressed version of the spatial component to obtain the spatialcomponent.

Clause 141541-2B. The device of clause 141541-1B, wherein the compressedversion of the spatial component is represented in the bitstream using,at least in part, a field specifying a prediction mode used whencompressing the spatial component, and wherein the one or moreprocessors are further configured to, when decompressing the compressedversion of the spatial component, decompress the compressed version ofthe spatial component based, at least in part, on the prediction mode toobtain the spatial component.

Clause 141541-3B. The device of any combination of clause 141541-1B andclause 141541-2B, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part,Huffman table information specifying a Huffman table used whencompressing the spatial component, and wherein the one or moreprocessors are further configured to, when decompressing the compressedversion of the spatial component, decompress the compressed version ofthe spatial component based, at least in part, on the Huffman tableinformation.

Clause 141541-4B. The device of any combination of clause 141541-1Bthrough clause 141541-3B, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, afield indicating a value that expresses a quantization step size or avariable thereof used when compressing the spatial component, andwherein the one or more processors are further configured to, whendecompressing the compressed version of the spatial component,decompress the compressed version of the spatial component based, atleast in part, on the value.

Clause 141541-5B. The device of clause 141541-4B, wherein the valuecomprises an nbits value.

Clause 141541-6B. The device of any combination of clause 141541-4B andclause 141541-5B, wherein the bitstream comprises a compressed versionof a plurality of spatial components of the sound field of which thecompressed version of the spatial component is included, wherein thevalue expresses the quantization step size or a variable thereof usedwhen compressing the plurality of spatial components and wherein the oneor more processors are further configured to, when decompressing thecompressed version of the spatial component, decompress the plurality ofcompressed version of the spatial component based, at least in part, onthe value.

Clause 141541-7B. The device of any combination of clause 141541-1Bthrough clause 141541-6B, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a category identifier that identifies acompression category to which the spatial component corresponds, andwherein the one or more processors are further configured to, whendecompressing the compressed version of the spatial component,decompress the compressed version of the spatial component based, atleast in part, on the Huffman code.

Clause 141541-8B. The device of any combination of clause 141541-1Bthrough clause 141541-7B, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, asign bit identifying whether the spatial component is a positive valueor a negative value, and wherein the one or more processors are furtherconfigured to, when decompressing the compressed version of the spatialcomponent, decompress the compressed version of the spatial componentbased, at least in part, on the sign bit.

Clause 141541-9B. The device of any combination of clause 141541-1Bthrough clause 141541-8B, wherein the compressed version of the spatialcomponent is represented in the bitstream using, at least in part, aHuffman code to represent a residual value of the spatial component, andwherein the one or more processors are further configured to, whendecompressing the compressed version of the spatial component,decompress the compressed version of the spatial component based, atleast in part, on the Huffman code.

Clause 141541-10B. The device of any combination of clause 141541-1Bthrough clause 141541-10B, wherein the vector based synthesis comprisesa singular value decomposition.

Furthermore, the audio decoding device 540D may be configured to performvarious aspects of the techniques set forth below with respect to thefollowing clauses.

Clause 141541-1C. A device, such as the audio decoding device 540D,comprising: one or more processors configured to decompress a compressedversion of a spatial component of a sound field, the spatial componentgenerated by performing a vector based synthesis with respect to aplurality of spherical harmonic coefficients.

Clause 141541-2C. The device of any combination of clause 141541-1C andclause 141541-2C, wherein the one or more processors are furtherconfigured to, when decompressing the compressed version of the spatialcomponent, obtain a category identifier identifying a category to whichthe spatial component was categorized when compressed, obtain a signidentifying whether the spatial component is a positive or a negativevalue, obtain a residual value associated with the compressed version ofthe spatial component, and decompress the compressed version of thespatial component based on the category identifier, the sign and theresidual value.

Clause 141541-3C. The device of clause 141541-2C, wherein the one ormore processors are further configured to, when obtaining the categoryidentifier, obtain a Huffman code representative of the categoryidentifier, and decode the Huffman code to obtain the categoryidentifier.

Clause 141541-4C. The device of clause 141541-3C, wherein the one ormore processors are further configured to, when decoding the Huffmancode, identify a Huffman table used to decode the Huffman code based on,at least in part, a relative position of the spatial component in avector specifying a plurality of spatial components.

Clause 141541-5C. The device of any combination of clause 141541-3C andclause 141541-4C, wherein the one or more processors are furtherconfigured to, when decoding the Huffman code, identify a Huffman tableused to decode the Huffman code based on, at least in part, a predictionmode used when compressing the spatial component.

Clause 141541-6C. The device of any combination of clause 141541-3Cthrough clause 141541-5C, wherein the one or more processors are furtherconfigured to, when decoding the Huffman code, identify a Huffman tableused to decode the Huffman code based on, at least in part, Huffmantable information associated with the compressed version of the spatialcomponent.

Clause 141541-7C. The device of clause 141541-3C, wherein the one ormore processors are further configured to, when decoding the Huffmancode, identify a Huffman table used to decode the Huffman code based on,at least in part, a relative position of the spatial component in avector specifying a plurality of spatial components, a prediction modeused when compressing the spatial component, and Huffman tableinformation associated with the compressed version of the spatialcomponent.

Clause 141541-8C. The device of clause 141541-2C, wherein the one ormore processors are further configured to, when obtaining the residualvalue, decode a block code representative of the residual value toobtain the residual value.

Clause 141541-9C. The device of any combination of clause 141541-1Cthrough clause 141541-8C, wherein the vector based synthesis comprises asingular value decomposition.

Furthermore, the audio decoding device 540D may be configured to performvarious aspects of the techniques set forth below with respect to thefollowing clauses.

Clause 141541-1G. A device, such as the audio decoding device 540Dcomprising: one or more processors configured to identify a Huffmancodebook to use when decompressing a compressed version of a currentspatial component of a plurality of compressed spatial components basedon an order of the compressed version of the current spatial componentrelative to remaining ones of the plurality of compressed spatialcomponents, the spatial component generated by performing a vector basedsynthesis with respect to a plurality of spherical harmoniccoefficients.

Clause 141541-2G. The device of clause 141541-1G, wherein the one ormore processors are further configured to perform any combination of thesteps recited in the clause 141541-1D through clause 141541-10D, andclause 141541-1E through clause 141541-9E.

FIGS. 42-42C are each block diagrams illustrating the order reductionunit 528A shown in the examples of FIGS. 40B-40J in more detail. FIG. 42is a block diagram illustrating an order reduction unit 528, which mayrepresent one example of the order reduction unit 528A of FIGS. 40B-40J.The order reduction unit 528A may receive or otherwise determine atarget bitrate 535 and perform order reduction with respect to thebackground spherical harmonic coefficients 531 based only on this targetbitrate 535. In some examples, the order reduction unit 528A may accessa table or other data structure using the target bitrate 535 to identifythose orders and/or suborders that are to be removed from the backgroundspherical harmonic coefficients 531 to generate reduced backgroundspherical harmonic coefficients 529.

In this way, the techniques may enable an audio encoding device, such asaudio encoding devices 510B-410J, to perform, based on a target bitrate535, order reduction with respect to a plurality of spherical harmoniccoefficients or decompositions thereof, such as background sphericalharmonic coefficients 531, to generate reduced spherical harmoniccoefficients 529 or the reduced decompositions thereof, wherein theplurality of spherical harmonic coefficients represent a soundfield.

In each of the various instances described above, it should beunderstood that the audio decoding device 540 may perform a method orotherwise comprise means to perform each step of the method for whichthe audio decoding device 540 is configured to perform In someinstances, these means may comprise one or more processors. In someinstances, the one or more processors may represent a special purposeprocessor configured by way of instructions stored to a non-transitorycomputer-readable storage medium. In other words, various aspects of thetechniques in each of the sets of encoding examples may provide for anon-transitory computer-readable storage medium having stored thereoninstructions that, when executed, cause the one or more processors toperform the method for which the audio decoding device 540 has beenconfigured to perform.

FIG. 42B is a block diagram illustrating an order reduction unit 528B,which may represent one example of the order reduction unit 528A ofFIGS. 40B-40J. In the example of FIG. 42B, rather than perform orderreduction based only on a target bitrate 535, the order reduction unit528B may perform order reduction based on a content analysis of thebackground spherical harmonic coefficients 531. The order reduction unit528B may include a content analysis unit 536A that performs this contentanalysis.

In some examples, the content analysis unit 536A may include a spatialanalysis unit 536A that performs a form of content analysis referred tospatial analysis. Spatial analysis may involve analyzing the backgroundspherical harmonic coefficients 531 to identify spatial informationdescribing the shape or other spatial properties of the backgroundcomponents of the soundfield. Based on this spatial information, theorder reduction unit 528B may identify those orders and/or subordersthat are to be removed from the background spherical harmoniccoefficients 531 to generate reduced background spherical harmoniccoefficients 529.

In some examples, the content analysis unit 536A may include a diffusionanalysis unit 536B that performs a form of content analysis referred todiffusion analysis. Diffusion analysis may involve analyzing thebackground spherical harmonic coefficients 531 to identify diffusioninformation describing the diffusivity of the background components ofthe soundfield. Based on this diffusion information, the order reductionunit 528B may identify those orders and/or suborders that are to beremoved from the background spherical harmonic coefficients 531 togenerate reduced background spherical harmonic coefficients 529.

While shown as including both the spatial analysis unit 536A and thediffusion analysis unit 36B, the content analysis unit 536A may includeonly the spatial analysis unit 536, only the diffusion analysis unit536B or both the spatial analysis unit 536A and the diffusion analysisunit 536B. In some examples, the content analysis unit 536A may performother forms of content analysis in addition to or as an alternative toone or both of the spatial analysis and the diffusion analysis.Accordingly, the techniques described in this disclosure should not belimited in this respect.

In this way, the techniques may enable an audio encoding device, such asaudio encoding devices 510B-510J, to perform, based on a contentanalysis of a plurality of spherical harmonic coefficients ordecompositions thereof that describe a soundfield, order reduction withrespect to the plurality of spherical harmonic coefficients or thedecompositions thereof to generate reduced spherical harmoniccoefficients or reduced decompositions thereof.

In other words, the techniques may enable a device, such as the audioencoding devices 510B-510J, to be configured in accordance with thefollowing clauses.

Clause 133146-1E. A device, such as any of the audio encoding devices510B-510J, comprising one or more processors configured to perform,based on a content analysis of a plurality of spherical harmoniccoefficients or decompositions thereof that describe a sound field,order reduction with respect to the plurality of spherical harmoniccoefficients or the decompositions thereof to generate reduced sphericalharmonic coefficients or reduced decompositions thereof.

Clause 133146-2E. The device of clause 133146-1E, wherein the one ormore processors are further configured to, prior to performing the orderreduction, perform a singular value decomposition with respect to theplurality of spherical harmonic coefficients to identify one or morefirst vectors that describe distinct components of the sound field andone or more second vectors that identify background components of thesound field, and wherein the one or more processors are configured toperform the order reduction with respect to the one or more firstvectors, the one or more second vectors or both the one or more firstvectors and the one or more second vectors.

Clause 133146-3E. The device of clause 133146-1E, wherein the one ormore processors are further configured to perform the content analysiswith respect to the plurality of spherical harmonic coefficients or thedecompositions thereof.

Clause 133146-4E. The device of clause 133146-3E, wherein the one ormore processors are configured to perform a spatial analysis withrespect to the plurality of spherical harmonic coefficients or thedecompositions thereof.

Clause 133146-5E. The device of clause 133146-3E, wherein performing thecontent analysis comprises performing a diffusion analysis with respectto the plurality of spherical harmonic coefficients or thedecompositions thereof.

Clause 133146-6E. The device of clause 133146-3E, wherein the one ormore processors are configured to perform a spatial analysis and adiffusion analysis with respect to the plurality of spherical harmoniccoefficients or the decompositions thereof.

Clause 133146-7E. The device of claim 1, wherein the one or moreprocessors are configured to perform, based on the content analysis ofthe plurality of spherical harmonic coefficients or the decompositionsthereof and a target bitrate, the order reduction with respect to theplurality of spherical harmonic coefficients or the decompositionsthereof to generate the reduced spherical harmonic coefficients or thereduced decompositions thereof.

Clause 133146-8E. The device of clause 133146-1E, wherein the one ormore processors are further configured to audio encode the reducedspherical harmonic coefficients or decompositions thereof.

Clause 133146-9E. The device of clause 133146-1E, wherein the one ormore processors are further configured to audio encode the reducedspherical harmonic coefficients or the reduced decompositions thereof,and generate a bitstream to include the reduced spherical harmoniccoefficients or the reduced decompositions thereof.

Clause 133146-10E. The device of clause 133146-1E, wherein the one ormore processors are further configured to specify one or more ordersand/or one or more sub-orders of spherical basis functions to whichthose of the reduced spherical harmonic coefficients or the reduceddecompositions thereof correspond in a bitstream that includes thereduced spherical harmonic coefficients or the reduced decompositionsthereof.

Clause 133146-11E. The device of clause 133146-1E, wherein the reducedspherical harmonic coefficients or the reduced decompositions thereofhave less values than the plurality of spherical harmonic coefficientsor the decompositions thereof.

Clause 133146-12E. The device of clause 133146-1E, wherein the one ormore processors are further configured to remove those of the pluralityof spherical harmonic coefficients or vectors of the decompositionsthereof having a specified order and/or sub-order to generate thereduced spherical harmonic coefficients or the reduced decompositionsthereof.

Clause 133146-13E. The device of clause 133146-1E, wherein the one ormore processors are configured to zero out those of the plurality ofspherical harmonic coefficients or those vectors of the decompositionthereof having a specified order and/or sub-order to generate thereduced spherical harmonic coefficients or the reduced decompositionsthereof

FIG. 42C is a block diagram illustrating an order reduction unit 528C,which may represent one example of the order reduction unit 528A ofFIGS. 40B-40J. The order reduction unit 528C of FIG. 42B issubstantially the same as order reduction unit 528B but may receive orotherwise determine a target bitrate 535 in the manner described abovewith respect to the order reduction unit 528A of FIG. 42, while alsoperforming the content analysis in the manner described above withrespect to the order reduction unit 528B of FIG. 42B. The orderreduction unit 528C may then perform order reduction with respect to thebackground spherical harmonic coefficients 531 based on this targetbitrate 535 and the content analysis.

In this way, the techniques may enable an audio encoding device, such asaudio encoding devices 510B-510J, to perform a content analysis withrespect to the plurality of spherical harmonic coefficients or thedecompositions thereof. When performing the order reduction, the audioencoding devices 510B-510J may perform, based on the target bitrate 535and the content analysis, the order reduction with respect to theplurality of spherical harmonic coefficients or the decompositionsthereof to generate the reduced spherical harmonic coefficients or thereduced decompositions thereof.

Given that one or more vectors are removed, the audio encoding devices510B-510J may specify the number of vectors in the bitstream as controldata. The audio encoding devices 510B-510J may specify this number ofvectors in the bitstream to facilitate extraction of the vectors fromthe bitstream by the audio decoding device.

FIG. 44 is a diagram illustration exemplary operations performed by theaudio encoding device 410D to compensate for quantization error inaccordance with various aspects of the techniques described in thisdisclosure. In the example of FIG. 44, the math unit 526 of the audioencoding device 510D is shown as a dashed block to denote that themathematical operations may be performed by the math unit 526 of theaudio decoding device 510D.

As shown in the example of FIG. 44, the math unit 526 may first multiplythe U_(DIST)*S_(DIST) vectors 527 by the V^(T) _(DIST) vectors 525E togenerate distinct spherical harmonic coefficients (denoted as “H_(DIST)vectors 630”). The math unit 526 may then divide the H_(DIST) vectors630 by the quantized version of the V^(T) _(DIST) vectors 525E (whichare denoted, again, as “V^(T) _(Q) _(—) _(DIST) vectors 525G”). The mathunit 526 may perform this division by determining a pseudo inverse ofthe V^(T) _(Q) _(—) _(DIST) vectors 525G and then multiplying theH_(DIST) vectors by the pseudo inverse of the V^(T) _(Q) _(—) _(DIST)vectors 525G, outputting an error compensated version ofU_(DIST)*S_(DIST) (which may be abbreviated as “US_(DIST)” or “US_(DIST)vectors”). The error compensated version of US_(DIST) may be denoted asUS*_(DIST) vectors 527′ in the example of FIG. 44. In this way, thetechniques may effectively project the quantization error, at least inpart, to the US_(DIST) vectors 527, generating the US*_(DIST) vectors527′.

The math unit 526 may then subtract the US*_(DIST) vectors 527′ from theU_(DIST)*S_(DIST) vectors 527 to determine US_(ERR) vectors 634 (whichmay represent at least a portion of the error due to quantizationprojected into the U_(DIST)*S_(DIST) vectors 527). The math unit 526 maythen multiply the US_(ERR) vectors 634 by the V^(T) _(Q) _(—) _(DIST)vectors 525G to determine H_(ERR) vectors 636. Mathematically, theH_(ERR) vectors 636 may be equivalent to US_(DIST) vectors527-US*_(DIST) vectors 527′, the result of which is then multiplied byV^(T) _(DIST) vectors 525E. The math unit 526 may then add the H_(ERR)vectors 636 to the background spherical harmonic coefficients 531(denoted as H_(BG) vectors 531 in the example of FIG. 44) computed bymultiplying the U_(BG) vectors 525D by the S_(BG) vectors 525B and thenby the V^(T) _(BG) vectors 525F. The math unit 526 may add the H_(ERR)vectors 636 to the H_(BG) vectors 531, effectively projecting at least aportion of the quantization error into the H_(BG) vectors 531 togenerate compensated H_(BG) vectors 531′. In this manner, the techniquesmay project at least a portion of the quantization error into the H_(BG)vectors 531.

FIGS. 45 and 45B are diagrams illustrating interpolation of sub-framesfrom portions of two frames in accordance with various aspects of thetechniques described in this disclosure. In the example of FIG. 45, afirst frame 650 and a second frame 652 are shown. The first frame 650may include spherical harmonic coefficients (“SH[1]”) that may bedecomposed into U[1], S[1] and V′ [1] matrices. The second frame 652 mayinclude spherical harmonic coefficients (“SH[2]”). These SH[1] and SH[2]may identify different frames of the SHC 511 described above.

In the example of FIG. 45B, the decomposition unit 518 of the audioencoding device 510H shown in the example of FIG. 40H may separate eachof frames 650 and 652 into four respective sub-frames 651A-651D and653A-653D. The decomposition unit 518 may then decompose the firstsub-frame 651A (denoted as “SH[1,1]”) of the frame 650 into a U[1, 1],S[1, 1] and V[1, 1] matrices, outputting the V[1, 1] matrix 519′ to theinterpolation unit 550. The decomposition unit 518 may then decomposethe second sub-frame 653A (denoted as “SH[2,1]”) of the frame 652 into aU[1, 1], S[1, 1] and V[1, 1] matrices, outputting the V[2, 1] matrix519′ to the interpolation unit 550. The decomposition unit 518 may alsooutput SH[1, 1], SH[1, 2], SH[1, 3] and SH[1, 4] of the SHC 11 and SH[2,1], SH[2, 2], SH[2, 3] and SH[2, 4] of the SHC 511 to the interpolationunit 550.

The interpolation unit 550 may then perform the interpolationsidentified at the bottom of the illustration shown in the example ofFIG. 45B. That is, the interpolation unit 550 may interpolate V′[1, 2]based on V′[1, 1] and V′[2, 1]. The interpolation unit 550 may alsointerpolate V′[1, 3] based on V′[1, 1] and V′[2, 1]. Further, theinterpolation unit 550 may also interpolate V′[1, 4] based on V′[1, 1]and V′[2, 1]. These interpolations may involve a projection of the V′[1,1] and the V′[2, 1] into the spatial domain, as shown in the example ofFIGS. 46-46E, followed by a temporal interpolation and then a projectionback into the spherical harmonic domain.

The interpolation unit 550 may next derive U[1, 2]S[1, 2] by multiplyingSH[1, 2] by (V′[1, 2])⁻¹, U[1, 3]S[1, 3] by multiplying SH[1, 3] by(V′[1, 3])⁻¹, and U[1, 4]S[1, 4] by multiplying SH[1, 4] by (V′[1,4])⁻¹. The interpolation unit 550 may then reform the frame indecomposed form outputting the V matrix 519, the S matrix 519B and the Umatrix 519C.

FIGS. 46A-46E are diagrams illustrating a cross section of a projectionof one or more vectors of a decomposed version of a plurality ofspherical harmonic coefficients having been interpolated in accordancewith the techniques described in this disclosure. FIG. 46A illustrates across section of a projection of one or more first vectors of a first Vmatrix 19′ having been decomposed from SHC 511 of a first sub-frame froma first frame through an SVD process. FIG. 46B illustrates a crosssection of a projection of one or more second vectors of a second Vmatrix 519′ having been decomposed from SHC 511 of a first sub-framefrom a second frame through an SVD process.

FIG. 46C illustrates a cross section of a projection of one or moreinterpolated vectors for a V matrix 519A representative of a secondsub-frame from the first frame, these vectors having been interpolatedin accordance with the techniques described in this disclosure from theV matrix 519′ decomposed from the first sub-frame of the first frame ofthe SHC 511 (i.e., the one or more vectors of the V matrix 519′ shown inthe example of FIG. 46 in this example) and the first sub-frame of thesecond frame of the SHC 511 (i.e., the one or more vectors of the Vmatrix 519′ shown in the example of FIG. 46B in this example).

FIG. 46D illustrates a cross section of a projection of one or moreinterpolated vectors for a V matrix 519A representative of a thirdsub-frame from the first frame, these vectors having been interpolatedin accordance with the techniques described in this disclosure from theV matrix 519′ decomposed from the first sub-frame of the first frame ofthe SHC 511 (i.e., the one or more vectors of the V matrix 519′ shown inthe example of FIG. 46 in this example) and the first sub-frame of thesecond frame of the SHC 511 (i.e., the one or more vectors of the Vmatrix 519′ shown in the example of FIG. 46B in this example).

FIG. 46E illustrates a cross section of a projection of one or moreinterpolated vectors for a V matrix 519A representative of a fourthsub-frame from the first frame, these vectors having been interpolatedin accordance with the techniques described in this disclosure from theV matrix 519′ decomposed from the first sub-frame of the first frame ofthe SHC 511 (i.e., the one or more vectors of the V matrix 519′ shown inthe example of FIG. 46 in this example) and the first sub-frame of thesecond frame of the SHC 511 (i.e., the one or more vectors of the Vmatrix 519′ shown in the example of FIG. 46B in this example).

FIG. 47 is a block diagram illustrating, in more detail, the extractionunit 542 of the audio decoding devices 540A-540D shown in the examplesFIGS. 41-41D. In some examples, the extraction unit 542 may represent afront end to what may be referred to as “integrated decoder,” which mayperform two or more decoding schemes (where by performing these two ormore schemes the decoder may be considered to “integrate” the two ormore schemes). As shown in the example of FIG. 44, the extraction unit542 includes a multiplexer 620 and extraction sub-units 622A and 622B(“extraction sub-units 622”). The multiplexer 620 identifies those ofencoded framed SHC matrices 547-547N to be sent to the extractionsub-unit 622A and the extraction sub-unit 622B based on thecorresponding indication of whether the associated encoded framed SHCmatrices 547-547N are generated from a synthetic audio object or arecording. Each of the extraction sub-units 622A may perform a differentdecoding (which may be referred to as “decompression”) scheme that is,in some examples, tailored either to SHC generated from a syntheticaudio object or SHC generated from a recording. Each of extractionsub-units 622A may perform a respective one of these decompressionschemes in order to generate frames of SHC 547, which are output to SHC547.

For example, the extraction unit 622A may perform a decompression schemeto reconstruct the SA from a predominant signal (PS) using the followingformula:

HOA=DirV×PS,

where DirV is a directional-vector (representative of various directionsand widths), which may be transmitted through a side channel. Theextraction unit 622B may, in this example, perform a decompressionscheme that reconstructs the HOA matrix from the PS using the followingformula:

HOA=sqrt(4π)*Ynm(theta,phi)*PS,

where Ynm is the spherical harmonic function and theta and phiinformation may be sent through the side channel.

In this respect, the techniques enable the extraction unit 538 to selectone of a plurality of decompression schemes based on the indication ofwhether an compressed version of spherical harmonic coefficientsrepresentative of a soundfield are generated from a synthetic audioobject, and decompress the compressed version of the spherical harmoniccoefficients using the selected one of the plurality of decompressionschemes. In some examples, the device comprises an integrated decoder.

FIG. 48 is a block diagram illustrating the audio rendering unit 48 ofthe audio decoding device 540A-540D shown in the examples of FIGS.41A-41D in more detail. FIG. 48 illustrates a conversion from therecovered spherical harmonic coefficients 547 to the multi-channel audiodata 549A that is compatible with a decoder-local speaker geometry. Forsome local speaker geometries (which, again, may refer to a speakergeometry at the decoder), some transforms that ensure invertibility mayresult in less-than-desirable audio-image quality. That is, the soundreproduction may not always result in a correct localization of soundswhen compared to the audio being captured. In order to correct for thisless-than-desirable image quality, the techniques may be furtheraugmented to introduce a concept that may be referred to as “virtualspeakers.”

Rather than require that one or more loudspeakers be repositioned orpositioned in particular or defined regions of space having certainangular tolerances specified by a standard, such as the above notedITU-R BS.775-1, the above framework may be modified to include some formof panning, such as vector base amplitude panning (VBAP), distance basedamplitude panning, or other forms of panning Focusing on VBAP forpurposes of illustration, VBAP may effectively introduce what may becharacterized as “virtual speakers.” VBAP may modify a feed to one ormore loudspeakers so that these one or more loudspeakers effectivelyoutput sound that appears to originate from a virtual speaker at one ormore of a location and angle different than at least one of the locationand/or angle of the one or more loudspeakers that supports the virtualspeaker.

To illustrate, the following equation for determining the loudspeakerfeeds in terms of the SHC may be as follows:

$\begin{bmatrix}{A_{0}^{0}(\omega)} \\{A_{1}^{1}(\omega)} \\{A_{1}^{- 1}(\omega)} \\\ldots \\{A_{{({{Order} + 1})}{({{Order} + 1})}}^{{- {({{Order} + 1})}}{({{Order} + 1})}}(\omega)}\end{bmatrix} = {{- }\; {{{{k\begin{bmatrix}{VBAP} \\{MATRIX} \\{M \times N}\end{bmatrix}}\begin{bmatrix}D \\{N \times \left( {{Order} + 1} \right)^{2}}\end{bmatrix}}\begin{bmatrix}{g_{1}(\omega)} \\{g_{2}(\omega)} \\{g_{3}(\omega)} \\\ldots \\{g_{M}(\omega)}\end{bmatrix}}.}}$

In the above equation, the VBAP matrix is of size M rows by N columns,where M denotes the number of speakers (and would be equal to five inthe equation above) and N denotes the number of virtual speakers. TheVBAP matrix may be computed as a function of the vectors from thedefined location of the listener to each of the positions of thespeakers and the vectors from the defined location of the listener toeach of the positions of the virtual speakers. The D matrix in the aboveequation may be of size N rows by (order+1)² columns, where the ordermay refer to the order of the SH functions. The D matrix may representthe following matrix:

$\begin{bmatrix}{{h_{0}^{(2)}\left( {kr}_{1} \right)}{Y_{0}^{0^{*}}\left( {\theta_{1},\phi_{1}} \right)}} & {{h_{0}^{(2)}\left( {kr}_{2} \right)}{Y_{0}^{0^{*}}\left( {\theta_{2},\phi_{2}} \right)}} & \ldots & \ldots & \ldots \\{{h_{1}^{(2)}\left( {kr}_{1} \right)}{{Y_{1}^{1^{*}}\left( {\theta_{1},\phi_{1}} \right)}.}} & \ldots & \ldots & \ldots & \ldots \\\ldots & \ldots & \ldots & \ldots & \ldots \\\ldots & \ldots & \ldots & \ldots & \ldots \\\ldots & \ldots & \ldots & \ldots & \ldots\end{bmatrix}.$

The g matrix (or vector, given that there is only a single column) mayrepresent the gain for speaker feeds for the speakers arranged in thedecoder-local geometry. In the equation, the g matrix is of size M. TheA matrix (or vector, given that there is only a single column) maydenote the SHC 520, and is of size (Order+1)(Order+1), which may also bedenoted as (Order+1)².

In effect, the VBAP matrix is an M×N matrix providing what may bereferred to as a “gain adjustment” that factors in the location of thespeakers and the position of the virtual speakers. Introducing panningin this manner may result in better reproduction of the multi-channelaudio that results in a better quality image when reproduced by thelocal speaker geometry. Moreover, by incorporating VBAP into thisequation, the techniques may overcome poor speaker geometries that donot align with those specified in various standards.

In practice, the equation may be inverted and employed to transform theSHC back to the multi-channel feeds for a particular geometry orconfiguration of loudspeakers, which again may be referred to as thedecoder-local geometry in this disclosure. That is, the equation may beinverted to solve for the g matrix. The inverted equation may be asfollows:

$\begin{bmatrix}{g_{1}(\omega)} \\{g_{2}(\omega)} \\{g_{3}(\omega)} \\\ldots \\{g_{M}(\omega)}\end{bmatrix} - {\; {{{{k\begin{bmatrix}{VBAP} \\{MATRIX}^{- 1} \\{M \times N}\end{bmatrix}}\begin{bmatrix}D^{- 1} \\{N \times \left( {{Order} + 1} \right)^{2}}\end{bmatrix}}\begin{bmatrix}{A_{0}^{0}(\omega)} \\{A_{1}^{1}(\omega)} \\{A_{1}^{- 1}(\omega)} \\\ldots \\{A_{{({{Order} + 1})}{({{Order} + 1})}}^{{- {({{Order} + 1})}}{({{Order} + 1})}}(\omega)}\end{bmatrix}}.}}$

The g matrix may represent speaker gain for, in this example, each ofthe five loudspeakers in a 5.1 speaker configuration. The virtualspeakers locations used in this configuration may correspond to thelocations defined in a 5.1 multichannel format specification orstandard. The location of the loudspeakers that may support each ofthese virtual speakers may be determined using any number of known audiolocalization techniques, many of which involve playing a tone having aparticular frequency to determine a location of each loudspeaker withrespect to a headend unit (such as an audio/video receiver (A/Vreceiver), television, gaming system, digital video disc system, orother types of headend systems). Alternatively, a user of the headendunit may manually specify the location of each of the loudspeakers. Inany event, given these known locations and possible angles, the headendunit may solve for the gains, assuming an ideal configuration of virtualloudspeakers by way of VBAP.

In this respect, a device or apparatus may perform a vector baseamplitude panning or other form of panning on the plurality of virtualchannels to produce a plurality of channels that drive speakers in adecoder-local geometry to emit sounds that appear to originate formvirtual speakers configured in a different local geometry. Thetechniques may therefore enable the audio decoding device 40 to performa transform on the plurality of spherical harmonic coefficients, such asthe recovered spherical harmonic coefficients 47, to produce a pluralityof channels. Each of the plurality of channels may be associated with acorresponding different region of space. Moreover, each of the pluralityof channels may comprise a plurality of virtual channels, where theplurality of virtual channels may be associated with the correspondingdifferent region of space. A device may, therefore, perform vector baseamplitude panning on the virtual channels to produce the plurality ofchannel of the multi-channel audio data 49.

FIGS. 49A-49E(ii) are diagrams illustrating respective audio codingsystems 560A-560C, 567D, 569D, 571E and 573E that may implement variousaspects of the techniques described in this disclosure. As shown in theexample of FIG. 49A, the audio coding system 560A may include an audioencoding device 562 and an audio decoding device 564. Audio encodingdevice 562 may be similar to any one of audio encoding devices 20 and510A-510D shown in the example of FIGS. 4 and 40A-40D, respectively.Audio decoding device 564 may be similar to audio decoding device 24 and40 shown in the example of FIGS. 5 and 41.

As described above, higher-order ambisonics (HOA) is a way by which todescribe all directional information of a sound-field based on a spatialFourier transform. In some examples, the higher the ambisonics order, N,the higher the spatial resolution and the larger the number of sphericalharmonics (SH) coefficients (N+1)². Thus, the higher the ambisonicsorder N, in some examples, results in larger bandwidth requirements fortransmitting and storing the coefficients. Because the bandwidthrequirements of HOA are rather high in comparison, for example, to 5.1or 7.1 surround sound audio data, a bandwidth reduction may be desiredfor many applications.

In accordance with the techniques described in this disclosure, theaudio coding system 560A may perform a method based on separating thedistinct (foreground) from the non-distinct (background or ambient)elements in a spatial sound scene. This separation may allow the audiocoding system 560A to process foreground and background elementsindependently from each other. In this example, the audio coding system560A exploits the property that foreground elements may draw moreattention (by the listener) and may be easier to localize (again, by thelistener) compared to background elements. As a result, the audio codingsystem 560A may store or transmit HOA content more efficiently.

In some examples, the audio coding system 560A may achieve thisseparation by employing the Singular Value Decomposition (SVD) process.The SVD process may separate a frame of HOA coefficients into 3 matrices(U, S, V). The matrix U contains the left-singular vectors and the Vmatrix contains the right-singular vectors. The Diagonal matrix Scontains the non-negative, sorted singular values in its diagonal. Agenerally good (or, in some instances, perfect assuming unlimitedprecision in representing the HOA coefficients) reconstruction of theHOA coefficients would be given by U*S*V′. By only reconstructing thesubspace with the D largest singular values: U(:,1:D)*S(1:D,:)*V′, theaudio coding system 560A may extract the most salient spatialinformation from this HOA frame i.e., foreground sound elements (andmaybe some strong early room reflections). The remainderU(:,D+1:end)*S(D+1:end,:)*V′ may reconstructs background elements andreverberation from the content.

The audio coding system 560A may determine the value D, which separatesthe two subspaces, by analyzing the slope of the curve created by thedescending diagonal values of S: the large singular values representforeground sounds, low singular values represent background values. Theaudio coding system 560A may use a first and a second derivative of thesingular value curve. The audio coding system 560A may also limit thenumber D to be between one and five. Alternatively, the audio codingsystem 560A may pre-define the number D, such as to a value of four. Inany event, once the number D is estimated, the audio coding system 560Aextracts the foreground and background subspace from the matrices U, andS.

The audio coding system 560A may then reconstruct the HOA coefficientsof the background scene via U(:,D+1:end)*S(D+1:end,:)*V′, resulting in(N+1)² channels of HOA coefficients. Since it is known that backgroundelements are, in some examples, not as salient and not as localizablerelative to the foreground elements, the audio coding system 560A maytruncate the order of the HOA channels. Furthermore, the audio codingsystem 560A may compress these channels with lossy or lossless audiocodecs, such as AAC, or optionally with a more aggressive audio codeccompared to the one used to

compress the salient foreground elements. In some instances, to savebandwidth, the audio coding system 560A may transmit the foregroundelements differently. That is, the audio coding system may transmit theleft-singular vectors U(:,1:D) after being compressed with lossy orlossless audio codecs (such as AAC) and transmit these compressedleft-singular values together with the reconstruction matrixR=S(1:D,:)*V′. R may represent a D×(N+1)² matrix, which may differacross frames.

At the receiver side of the audio coding system 560, the audio codingsystem may multiply these two matrices to reconstruct a frame of (N+1)²HOA channels. Once the background and foreground HOA channels are summedtogether, the audio coding system 560A may render to any loudspeakersetup using any appropriate Ambisonics renderer. Since the techniquesprovide for the separation of foreground elements (direct or distinctsound) from the background elements, a hearing impaired person couldcontrol the mix of foreground to background elements to increase theintelligibility. Also, other audio effects may be also applicable, e.g.a dynamic compressor on just the foreground elements.

FIG. 49B is a block diagram illustrating the audio encoding system 560Bin more detail. As shown in the example of FIG. 49B, the audio codingsystem 560B may include an audio encoding device 566 and an audiodecoding device 568. The audio encoding device 566 may be similar to theaudio encoding devices 24 and 510E shown in the example of FIGS. 4 and40E. The audio decoding device 568 may be similar to audio decodingdevice 24 and 540B shown in the example of FIGS. 5 and 41B.

In accordance with the techniques described in this disclosure, whenusing frame based SVD (or related methods such as KLT & PCA)decomposition on HoA signals, for the purpose of bandwidth reduction,the audio encoding device 66 may quantize the first few vectors of the Umatrix (multiplied by the corresponding singular values of the S matrix)as well as the corresponding vectors of the V^(T) vector. This willcomprise the ‘foreground’ components of the soundfield. The techniquesmay enable the audio encoding device 566 to code the U_(DIST)*S_(DIST)vector using a ‘black-box’ audio-coding engine. The V vector may eitherbe scalar or vector quantized. In addition, some or all of the remainingvectors in the U matrix may be multiplied with the correspondingsingular values of the S matrix and V matrix and also coded using a‘black-box’ audio-coding engine. These will comprise the ‘background’components of the soundfield.

Since the loudest auditory components are decomposed into the‘foreground components’, the audio encoding device 566 may reduce theAmbisonics order of the ‘background’ components prior the using a‘black-box’ audio-coding engine, because (we assume) that the backgrounddon't contain important localizable content. Depending on the ambisonicsorder of the foreground components, the audio encoding unit 566 maytransmit the corresponding V-vector(s), which may be rather large. Forexample, a simple 16 bit scalar quantization of the V vectors willresult in approximately 20 kbps overhead for 4th order (25 coefficients)and 40 kbps for 6th order (49 coefficients) per foreground component.The techniques described in this disclosure may provide a method toreduce this overhead of the V-Vector.

To illustrate, assume the ambisonics order of the foreground elements isN_(DIST) and the ambisonics order of the background elements N_(BG), asdescribed above. Since the audio encoding device 566 may reduce theAmbisonics order of the background elements as described above, N_(BG)may be less than N_(DIST). The length of the foreground V-vector thatneeds to be transmitted to reconstruct the foreground elements at thereceiver side, has the length of (N_(DIST)+1)² per foreground element,whereas the first ((N_(DIST)+1)²)−((N_(BG)+1)²) coefficients may be usedto reconstruct the foreground or distinct components up to the orderN_(BG). Using the techniques described in this disclosure, the audioencoding device 566 may reconstruct the foreground up to the orderN_(BG) and merge the resulting (N_(BG)+1)² channels with the backgroundchannels, resulting in a complete sound-field up to the order N_(BG).The audio encoding device 566 may then reduce the V-vector to thosecoefficients with the index higher than (N_(BG)+1)² for transmission,(where these vectors may be referred to as “V^(T) _(SMALL)”). At thereceiver side, the audio decoding unit 568 may reconstruct theforeground audio-channels for the ambisonics order larger than N_(BG) bymultiplying the foreground elements by the V^(T) _(SMALL) vectors.

FIG. 49C is a block diagram illustrating the audio encoding system 560Cin more detail. As shown in the example of FIG. 49C, the audio codingsystem 560B may include an audio encoding device 567 and an audiodecoding device 569. Audio encoding device 567 may be similar to theaudio encoding devices 20 and 510F shown in the example of FIGS. 4 and40F. The audio decoding device 569 may be similar to the audio decodingdevices 24 and 540B shown in the example of FIGS. 5 and 41B.

In accordance with the techniques described in this disclosure, whenusing frame based SVD (or related methods such as KLT & PCA)decomposition on HoA signals, for the purpose of bandwidth reduction,the audio encoding device 567 may quantize the first few vectors of theU matrix (multiplied by the corresponding singular values of the Smatrix) as well as the corresponding vectors of the V^(T) vector. Thiswill comprise the ‘foreground’ components of the soundfield. Thetechniques may enable the audio encoding device 567 to code theU_(DIST)*S_(DIST) vector using a ‘black-box’ audio-coding engine. The Vvector may either be scalar or vector quantized. In addition, some orall of the remaining vectors in the U matrix may be multiplied with thecorresponding singular values of the S matrix and V matrix and alsocoded using a ‘black-box’ audio-coding engine. These will comprise the‘background’ components of the soundfield.

Since the loudest auditory components are decomposed into the‘foreground components’, the audio encoding device 567 may reduce theAmbisonics order of the ‘background’ components prior to using a‘black-box’ audio-coding engine, because (we assume) that the backgrounddon't contain important localizable content. Audio encoding device 567may reduce the order in such a way as preserve the overall energy of thesoundfield according to techniques described herein. Depending on theAmbisonics order of the foreground components, the audio encoding unit567 may transmit the corresponding V-vector(s), which may be ratherlarge. For example, a simple 16 bit scalar quantization of the V vectorswill result in approximately 20 kbps overhead for 4th order (25coefficients) and 40 kbps for 6th order (49 coefficients) per foregroundcomponent. The techniques described in this disclosure may provide amethod to reduce this overhead of the V-vector(s).

To illustrate, assume the Ambisonics order of the foreground elementsand of the background elements is N. The audio encoding device 567 mayreduce the Ambisonics order of the background elements of theV-vector(s) from N to {tilde over (η)} such that {tilde over (η)}<N. Theaudio encoding device 67 further applies compensation to increase thevalues of the background elements of the V-vector(s) to preserve theoverall energy of the soundfield described by the SHCs. Exampletechniques for applying compensation is described above with respect toFIG. 40F. At the receiver side, the audio decoding unit 569 mayreconstruct the background audio-channels for the ambisonics order.

FIGS. 49D(i) and 49D(ii) illustrate an audio encoding device 567D and anaudio decoding device 569D respectively. The audio encoding device 567Dand the audio decoding device 569D may be configured to perform one ormore directionality-based distinctness determinations, in accordancewith aspects of this disclosure. Higher-Order Ambisonics (HOA) is amethod to describe all directional information of a sound-field based onthe spatial Fourier transform. The higher the Ambisonics order N, thehigher the spatial resolution, the larger the number of sphericalharmonics (SH) coefficients (N+1)̂2, the larger the required bandwidthfor transmitting and storing the data. Because the bandwidthrequirements of HOA are rather high, for many applications a bandwidthreduction is desired.

Previous descriptions have described how the SVD (singular valuedecomposition) or related processes can be used for spatial audiocompression. Techniques described herein present an improved algorithmfor selecting the salient elements a.k.a. the foreground elements. Afteran SVD-based decomposition of a HOA audio frame into its U, S, and Vmatrix, the techniques base the selection of the K salient elementsexclusively on the first K channels of the U matrix[U(:,1:K)*S(1:K,1:K)]. This results in selecting the audio elements withthe highest energy. However, it is not guaranteed that those elementsare also directional. Therefore, the techniques are directed to findingthe sound elements that have high energy and are also directional. Thisis potentially achieved by weighting the V matrix with the S matrix.Then, for each row of this resulting matrix the higher indexed elements(which are associated with the higher order HOA coefficients) aresquared and summed, resulting in one value per row [sumVS in thepseudo-code described with respect to FIG. 40H]. In accordance withworkflow represented in the pseudo-code, the higher order Ambisonicscoefficients starting at the 5th index are considered. These values aresorted according to their size and the sorting index is used tore-arrange the original U, S, and V matrix accordingly. The SVD-basedcompression algorithm described earlier in this disclosure can then beapplied without further modification.

FIGS. 49E(i) and 49E(ii) are block diagram illustrating an audioencoding device 571E and an audio decoding device 573E respectively. Theaudio encoding device 571E and the audio decoding device 573E mayperform various aspects of the techniques described above with respectto the examples of FIGS. 49-49D(ii), except that the audio encodingdevice 571E may perform the singular value decomposition with respect toa power spectral density matrix (PDS) of the HOA coefficients togenerate an S² matrix and a V matrix. The S² matrix may denote a squaredS matrix, whereupon S² matrix may undergo a square root operation toobtain the S matrix. The audio encoding device 571E may, in someinstances, perform quantization with respect to the V matrix to obtain aquantized V matrix (which may be denoted as V′ matrix).

The audio encoding device 571E may obtain the U matrix by firstmultiplying the S matrix by the quantized V′ matrix to generate an SV′matrix. The audio encoding device 571E may next obtain thepseudo-inverse of the SV′ matrix and then multiply HOA coefficients bythe pseudo-inverse of the SV′ matrix to obtain the U matrix. Byperforming SVD with respect to the power spectral density of the HOAcoefficients rather than the coefficients themselves, the audio encodingdevice 571E may potentially reduce the computational complexity ofperforming the SVD in terms of one or more of processor cycles andstorage space, while achieving the same source audio encoding efficiencyas if the SVD were applied directly to the HOA coefficients.

The audio decoding device 573E may be similar to those audio decodingdevices described above, except that the audio decoding device 573 mayreconstruct the HOA coefficients from decompositions of the HOAcoefficients achieved through application of the SVD to the powerspectral density of the HOA coefficients rather than the HOAcoefficients directly.

FIGS. 50A and 50B are block diagrams each illustrating one of twodifferent approaches to potentially reduce the order of backgroundcontent in accordance with the techniques described in this disclosure.As shown in the example of FIG. 50, the first approach may employorder-reduction with respect to the U_(BG)*S_(BG)*V^(T) vectors toreduce the order from N to {tilde over (η)}, where {tilde over (η)} isless than (<) N. That is, the order reduction unit 528A shown in theexamples of FIG. 40B-40J may perform order-reduction to truncate orotherwise reduce the order N of the U_(BG)*S_(BG)*V^(T) vectors to{tilde over (η)}, where {tilde over (η)} is less than (<) N.

As an alternative approach, the order reduction unit 528A may, as shownin the example of FIG. 50B, perform this truncation with respect to theV^(T) eliminating the rows to be ({tilde over (η)}+1)², which is notillustrated in the example of FIG. 40B for ease of illustrationpurposes. In other words, the order reduction unit 528A may remove oneor more orders of the V^(T) matrix to effectively generate a V_(BG)matrix. The size of this V_(BG) matrix is ({tilde over(η)}+1)²×(N+1)²−D, where this V_(BG) matrix is then used in place of theV^(T) matrix when generating the U_(BG)*S_(BG)*V^(T) vectors,effectively performing the truncation to generate U_(BG)*S_(BG)*V^(T)vectors of size M×({tilde over (η)}+1)².

FIG. 51 is a block diagram illustrating examples of a distinct componentcompression path of an audio encoding device 700A that may implementvarious aspects of the techniques described in this disclosure tocompress spherical harmonic coefficients 701. In the example of FIG. 51,the distinct component compression path may refer to a processing pathof the audio encoding device 700A that compresses the distinctcomponents of the soundfield represented by the SHC 701. Another path,which may be referred to as the background component compression path,may represent a processing path of the audio encoding device 700A thatcompresses the background components of the SHC 701.

Although not shown for ease of illustration purposes, the backgroundcomponent compression path may operate with respect to the SHC 701directly rather than the decompositions of the SHC 701. This is similarto that described above with respect to FIGS. 49-49C, except that ratherthan recompose the background components from the U_(BG), S_(BG) andV_(BG) matrixes and then perform some form of psychoacoustic encoding(e.g., using an AAC encoder) of these recomposed background components,the background component processing path may operate with respect to theSHC 701 directly (as described above with respect to the audio encodingdevice 20 shown in the example of FIG. 4), compressing these backgroundcomponents using the psychoacoustic encoder. By performingpsychoacoustic encoding with respect to the SHC 701 directly,discontinuities may be reduced while also reducing computationcomplexity (in terms of operations required to compress the backgroundcomponents) in comparison to performing psychoacoustic encoding withrespect to the recomposed background components. Although referred to interms of a distinct and background, the term “prominent” may be used inplace of “distinct” and the term “ambient” may be used in place of“background” in this disclosure.

In any event, the spherical harmonic coefficients 701 (“SHC 701”) maycomprise a matrix of coefficients having a size of M×(N+1)², where Mdenotes the number of samples (and is, in some examples, 1024) in anaudio frame and N denotes the highest order of the basis function towhich the coefficients correspond. As noted above, N is commonly set tofour (4) for a total of 1024×25 coefficients. Each of the SHC 701corresponding to a particular order, sub-order combination may bereferred to as a channel. For example, all of the M sample coefficientscorresponding to a first order, zero sub-order basis function mayrepresent a channel, while coefficients corresponding to the zero order,zero sub-order basis function may represent another channel, etc. TheSHC 701 may also be referred to in this disclosure as higher-orderambisonics (HOA) content 701 or as an SH signal 701.

As shown in the example of FIG. 51, the audio encoding device 700Aincludes an analysis unit 702, a vector based synthesis unit 704, avector reduction unit 706, a psychoacoustic encoding unit 708, acoefficient reduction unit 710 and a compression unit 712 (“compr unit712”). The analysis unit 702 may represent a unit configured to performan analysis with respect to the SHC 701 so as to identify distinctcomponents of the soundfield (D) 703 and a total number of backgroundcomponents (BG_(TOT)) 705. In comparison to audio encoding devicesdescribed above, the audio encoding device 700A does not perform thisdetermination with respect to the decompositions of the SHC 701, butdirectly with respect to the SHC 701.

The vector based synthesis unit 704 represents a unit configured toperform some form of vector based synthesis with respect to the SHC 701,such as SVD, KLT, PCA or any other vector based synthesis, to generate,in the instances of SVD, a [US] matrix 707 having a size of M×(N+1)² anda [V] matrix 709 having a size of (N+1)²×(N+1)². The [US] matrix 707 mayrepresent a matrix resulting from a matrix multiplication of the [U]matrix and the [S] matrix generated through application of SVD to theSHC 701.

The vector reduction unit 706 may represent a unit configured to reducethe number of vectors of the [US] matrix 707 and the [V] matrix 709 suchthat each of the remaining vectors of the [US} matrix 707 and the [V]matrix 709 identify a distinct or prominent component of the soundfield.The vector reduction unit 706 may perform this reduction based on thenumber of distinct components D 703. The number of distinct components D703 may, in effect, represent an array of numbers, where each numberidentifies different distinct vectors of the matrices 707 and 709. Thevector reduction unit 706 may output a reduced [US] matrix 711 of sizeM×D and a reduced [V] matrix 713 of size (N+1)²×D.

Although not shown for ease of illustration purposes, interpolation ofthe [V] matrix 709 may occur prior to reduction of the [V] matrix 709 inmanner similar to that described in more detail above. Moreover,although not shown for ease of illustration purposes, reordering of thereduced [US] matrix 711 and/or the reduced [V] matrix 712 in the mannerdescribed in more detail above. Accordingly, the techniques should notbe limited in these and other respects (such as error projection or anyother aspect of the foregoing techniques described above but not shownin the example of FIG. 51).

Psychoacoustic encoding unit 708 represents a unit configured to performpsychoacoustic encoding with respect to [US] matrix 711 to generate abitstream 715. The coefficient reduction unit 710 may represent a unitconfigured to reduce the number of channels of the reduced [V] matrix713. In other words, coefficient reduction unit 710 may represent a unitconfigured to eliminate those coefficients of the distinct V vectors(that form the reduced [V] matrix 713) having little to no directionalinformation. As described above, in some examples, those coefficients ofthe distinct V vectors corresponding to a first and zero order basisfunctions (denoted as N_(BG) above) provide little directionalinformation and therefore can be removed from the distinct V vectors(through what is referred to as “order reduction” above). In thisexample, greater flexibility may be provided to not only identify thesecoefficients that correspond N_(BG) but to identify additional HOAchannels (which may be denoted by the variable TotalOfAddAmbHOAChan)from the set of [(N_(BG)+1)²+1, (N+1)²]. The analysis unit 702 mayanalyze the SHC 701 to determine BG_(TOT), which may identify not onlythe (N_(BG)+1)² but the TotalOfAddAmbHOAChan. The coefficient reductionunit 710 may then remove those coefficients corresponding to the(N_(BG)+1)² and the TotalOfAddAmbHOAChan from the reduced [V] matrix 713to generate a small [V] matrix 717 of size ((N+1)²−(BG_(TOT))×D.

The compression unit 712 may then perform the above noted scalarquantization and/or Huffman encoding to compress the small [V] matrix717, outputting the compressed small [V] matrix 717 as side channelinformation 719 (“side channel info 719”). The compression unit 712 mayoutput the side channel information 719 in a manner similar to thatshown in the example of FIGS. 10-10O(ii). In some examples, a bitstreamgeneration unit similar to those described above may incorporate theside channel information 719 into the bitstream 715. Moreover, whilereferred to as the bitstream 715, the audio encoding device 700A may, asnoted above, include a background component processing path that resultsin another bitstream, where a bitstream generation unit similar to thosedescribed above may generate a bitstream similar to bitstream 17described above that includes the bitstream 715 and the bitstream outputby the background component processing path.

In accordance with the techniques described in this disclosure, theanalysis unit 702 may be configured to determine a first non-zero set ofcoefficients of a vector, i.e., the vectors of the reduced [V] matrix713 in this example, to be used to represent the distinct component ofthe soundfield. In some examples, the analysis unit 702 may determinethat all of the coefficients of every vector forming the reduced [V]matrix 713 are to be included in the side channel information 719. Theanalysis unit 702 may therefore set BG_(TOT) equal to zero.

The audio encoding device 700A may therefore effectively act in areciprocal manner to that described above with respect to Table denotedas “Decoded Vectors.” In addition, the audio encoding device 700A mayspecify a syntax element in a header of an access unit (which mayinclude one or more frames) which of the plurality of configurationmodes was selected. Although described as being specified on a peraccess unit basis, the analysis unit 702 may specify this syntax elementon a per frame basis or any other periodic basis or non-periodic basis(such as once for the entire bitstream). In any event, this syntaxelement may comprise two bits indicating which of the four configurationmodes were selected for specifying the non-zero set of coefficients ofthe reduced [V] matrix 713 to represent the directional aspects of thisdistinct component. The syntax element may be denoted as“codedVVecLength.” In this manner, the audio encoding device 700A maysignal or otherwise specify in the bitstream which of the fourconfiguration modes were used to specify the small [V] matrix 717 in thebitstream. Although described with respect to four configuration modes,the techniques should not be limited to four configuration modes but toany number of configuration modes, including a single configuration modeor a plurality of configuration modes.

Various aspects of the techniques may therefore enable the audioencoding device 700A to be configured to operate in accordance with thefollowing clauses.

Clause 133149-1F. A device comprising: one or more processors configuredto select one of a plurality of configuration modes by which to specifya non-zero set of coefficients of a vector, the vector having beendecomposed from a plurality of spherical harmonic coefficientsdescribing a sound field and representing a distinct component of thesound field, and specify the non-zero set of the coefficients of thevector based on the selected one of the plurality of configurationmodes.

Clause 133149-2F. The device of clause 133149-1F, wherein the one of theplurality of configuration modes indicates that the non-zero set of thecoefficients includes all of the coefficients.

Clause 133149-3F. The device of clause 133149-1F, wherein the one of theplurality of configuration modes indicates that the non-zero set ofcoefficients include those of the coefficients corresponding to an ordergreater than an order of a basis function to which one or more of theplurality of spherical harmonic coefficients correspond.

Clause 133149-4F. The device of clause 133149-1F, wherein the one of theplurality of configuration modes indicates that the non-zero set of thecoefficients include those of the coefficients corresponding to an ordergreater than an order of a basis function to which one or more of theplurality of spherical harmonic coefficients correspond and exclude atleast one of the coefficients corresponding to an order greater than theorder of the basis function to which the one or more of the plurality ofspherical harmonic coefficients correspond,

Clause 133149-5F. The device of clause 133149-1F, wherein the one of theplurality of configuration modes indicates that the non-zero set ofcoefficients include all of the coefficients except for at least one ofthe coefficients.

Clause 133149-6F. The device of clause 133149-1F, wherein the one ormore processors are further configured to specify the selected one ofthe plurality of configuration modes in a bitstream.

Clause 133149-1G. A device comprising: one or more processors configuredto determine one of a plurality of configuration modes by which toextract a non-zero set of coefficients of a vector in accordance withone of a plurality of configuration modes, the vector having beendecomposed from a plurality of spherical harmonic coefficientsdescribing a sound field and representing a distinct component of thesound field, and extract the non-zero set of the coefficients of thevector based on the obtained one of the plurality of configurationmodes.

Clause 133149-2G. The device of clause 133149-1G, wherein the one of theplurality of configuration modes indicates that the non-zero set of thecoefficients includes all of the coefficients.

Clause 133149-3G. The device of clause 133149-1G, wherein the one of theplurality of configuration modes indicates that the non-zero set ofcoefficients include those of the coefficients corresponding to an ordergreater than an order of a basis function to which one or more of theplurality of spherical harmonic coefficients correspond.

Clause 133149-4G. The device of clause 133149-1G, wherein the one of theplurality of configuration modes indicates that the non-zero set of thecoefficients include those of the coefficients corresponding to an ordergreater than an order of a basis function to which one or more of theplurality of spherical harmonic coefficients correspond and exclude atleast one of the coefficients corresponding to an order greater than theorder of the basis function to which the one or more of the plurality ofspherical harmonic coefficients correspond,

Clause 133149-5G. The device of clause 133149-1G, wherein the one of theplurality of configuration modes indicates that the non-zero set ofcoefficients include all of the coefficients except for at least one ofthe coefficients.

Clause 133149-6G. The device of clause 133149-1G, wherein the one ormore processors are further configured to, when determining the one ofthe plurality of configuration modes, determine the one of the pluralityof configuration modes based on a value signaled in a bitstream.

FIG. 52 is a block diagram illustrating another example of an audiodecoding device 750A that may implement various aspects of thetechniques described in this disclosure to reconstruct or nearlyreconstruct SHC 701. In the example of FIG. 52, audio decoding device750A is similar to audio decoding device 540D shown in the example ofFIG. 41D, except that the extraction unit 542 receives bitstream 715′(which is similar to the bitstream 715 described above with respect tothe example of FIG. 51, except that the bitstream 715′ also includesaudio encoded version of SHC_(BG) 752) and side channel information 719.For this reason, the extraction unit is denoted as “extraction unit542′.”

Moreover, the extraction unit 542′ differs from the extraction unit 542in that the extraction unit 542′ includes a modified form of the Vdecompression unit 555 (which is shown as “V decompression unit 555′” inthe example of FIG. 52). V decompression unit 555′ receives the sidechannel information 719 and the syntax element denoted codedVVecLength754. The extraction unit 542′ parses the codedVVecLength 754 from thebitstream 715′ (and, in one example, from the access unit headerincluded within the bitstream 715′). The V decompression unit 555′includes a mode configuration unit 756 (“mode config unit 756”) and aparsing unit 758 configurable to operate in accordance with any one ofthe foregoing described configuration modes 760.

The mode configuration unit 756 receives the syntax element 754 andselects one of configuration modes 760. The mode configuration unit 756then configures the parsing unit 758 with the selected one of theconfiguration modes 760. The parsing unit 758 represents a unitconfigured to operate in accordance with any one of configuration modes760 to parse a compressed form of the small [V] vectors 717 from theside channel information 719. The parsing unit 758 may operate inaccordance with the switch statement presented in the following Table.

TABLE Decoded Vectors No. of Syntax bits Mnemonic decodeVVec(i) { switch codedVVecLength {  case 0: //complete Vector   VVecLength =NumOfHoaCoeffs;   for (m=0; m< VVecLength; ++m){ VecCoeff[m] = m+1; }  break;  case 1: //lower orders are removed   VVecLength =NumOfHoaCoeffs − MinNumOfCoeffsForAmbHOA;    for (m=0; m< VVecLength;++m){   VecCoeff[m] = m + MinNumOfCoeffsForAmbHOA + 1;    }   break; case 2:   VVecLength = NumOfHoaCoeffs − MinNumOfCoeffsForAmbHOA −NumOfAddAmbHoaChan;   n = 0;   for(m=0;m<NumOfHoaCoeffs−MinNumOfCoeffsForAmbHOA; ++m){    c = m + MinNumOfCoeffsForAmbHOA + 1;  if ( ismember(c, AmbCoeffIdx) == 0){    VecCoeff[n] = c;    n++;   }  }    break;  case 3:   VVecLength = NumOfHoaCoeffs −NumOfAddAmbHoaChan;   n = 0;   for(m=0; m<NumOfHoaCoeffs; ++m){   c =m + 1;   if ( ismember(c, AmbCoeffIdx) == 0){    VecCoeff[n] = c;   n++;   }   }  }  if (NbitsQ[i] == 5) { /* uniform quantizer */  for(m=0; m< VVecLength; ++m){   VVec(k)[i][m] = (VecValue / 128.0) − 1.0; 8uimsbf  }  }  else { /* Huffman decoding */  for (m=0; m< VVecLength;++m){   Idx = 5;   If (CbFlag[i] == 1) {   idx = (min(3, max(1,ceil(sqrt(VecCoeff[m]) − 1)));   }   else if (PFlag[i] == 1) {idx = 4;}  cid = dynamic huffDecodehuffDecode(huffmannTable[NbitsQ].codebook[idx]; huffVal);   if( cid > 0) {    aVal = sgn = (sgnVal * 2) − 1; 1 bslbf    if (cid > 1) {     aVal= sgn * (2.0{circumflex over ( )}(cid −1 ) + intAddVal); cid − 1 uimsbf   }   } else {aVal = 0.0;}  }  } } NOTE: The encoder function for theuniform quantizer is min(255, round((x + 1.0) * 128.0)) The No. of bitsfor the Mnemonic huffDecode is dynamic

In the foregoing syntax table, the first switch statement with the fourcases (case 0-3) provides for a way by which to determine the lengths ofeach vector of the small [V] matrix 717 in terms of the number ofcoefficients. The first case, case 0, indicates that all of thecoefficients for the V^(T) _(DIST) vectors are specified. The secondcase, case 1, indicates that only those coefficients of the V^(T)_(DIST) vector corresponding to an order greater than aMinNumOfCoeffsForAmbHOA are specified, which may denote what is referredto as (N_(DIST)+1)−(N_(BG)+1) above. The third case, case 2, is similarto the second case but further subtracts coefficients identified byNumOfAddAmbHoaChan, which denotes a variable for specifying additionalchannels (where “channels” refer to a particular coefficientcorresponding to a certain order, sub-order combination) correspondingto an order that exceeds the order N_(BG). The fourth case, case 3,indicates that only those coefficients of the V^(T) _(DIST) vector leftafter removing coefficients identified by NumOfAddAmbHoaChan arespecified.

In this respect, the audio decoding device 750A may operate inaccordance with the techniques described in this disclosure to determinea first non-zero set of coefficients of a vector that represent adistinct component of the soundfield, the vector having been decomposedfrom a plurality of spherical harmonic coefficients that describe asoundfield.

Moreover, the audio decoding device 750A may be configured to operate inaccordance with the techniques described in this disclosure to determineone of a plurality of configuration modes by which to extract a non-zeroset of coefficients of a vector in accordance with one of a plurality ofconfiguration modes, the vector having been decomposed from a pluralityof spherical harmonic coefficients describing a soundfield andrepresenting a distinct component of the soundfield, and extract thenon-zero set of the coefficients of the vector based on the obtained oneof the plurality of configuration modes.

FIG. 53 is a block diagram illustrating another example of an audioencoding device 570 that may perform various aspects of the techniquesdescribed in this disclosure. In the example of FIG. 53, the audioencoding device 570 may be similar to one or more of the audio encodingdevices 510A-510J (where the order reduction unit 528A is assumed to beincluded within soundfield component extraction unit 20 but not shownfor ease of illustration purposes). However, the audio encoding device570 may include a more general transformation unit 572 that may comprisedecomposition unit 518 in some examples.

FIG. 54 is a block diagram illustrating, in more detail, an exampleimplementation of the audio encoding device 570 shown in the example ofFIG. 53. As illustrated in the example of FIG. 54, the transform unit572 of the audio encoding device 570 includes a rotation unit 654. Thesoundfield component extraction unit 520 of the audio encoding device570 includes a spatial analysis unit 650, a content-characteristicsanalysis unit 652, an extract coherent components unit 656, and anextract diffuse components unit 658. The audio encoding unit 514 of theaudio encoding device 570 includes an AAC coding engine 660 and an AACcoding engine 162. The bitstream generation unit 516 of the audioencoding device 570 includes a multiplexer (MUX) 164.

The bandwidth—in terms of bits/second—required to represent 3D audiodata in the form of SHC may make it prohibitive in terms of consumeruse. For example, when using a sampling rate of 48 kHz, and with 32bits/same resolution—a fourth order SHC representation represents abandwidth of 36 Mbits/second (25×48000×32 bps). When compared to thestate-of-the-art audio coding for stereo signals, which is typicallyabout 100 kbits/second, this is a large figure. Techniques implementedin the example of FIG. 54 may reduce the bandwidth of 3D audiorepresentations.

The spatial analysis unit 650, the content-characteristics analysis unit652, and the rotation unit 654 may receive SHC 511. As describedelsewhere in this disclosure, the SHC 511 may be representative of asoundfield. In the example of FIG. 54, the spatial analysis unit 650,the content-characteristics analysis unit 652, and the rotation unit 654may receive twenty-five SHC for a fourth order (n=4) representation ofthe soundfield.

The spatial analysis unit 650 may analyze the soundfield represented bythe SHC 511 to identify distinct components of the soundfield anddiffuse components of the soundfield. The distinct components of thesoundfield are sounds that are perceived to come from an identifiabledirection or that are otherwise distinct from background or diffusecomponents of the soundfield. For instance, the sound generated by anindividual musical instrument may be perceived to come from anidentifiable direction. In contrast, diffuse or background components ofthe soundfield are not perceived to come from an identifiable direction.For instance, the sound of wind through a forest may be a diffusecomponent of a soundfield.

The spatial analysis unit 650 may identify one or more distinctcomponents attempting to identify an optimal angle by which to rotatethe soundfield to align those of the distinct components having the mostenergy with the vertical and/or horizontal axis (relative to a presumedmicrophone that recorded this soundfield). The spatial analysis unit 650may identify this optimal angle so that the soundfield may be rotatedsuch that these distinct components better align with the underlyingspherical basis functions shown in the examples of FIGS. 1 and 2.

In some examples, the spatial analysis unit 650 may represent a unitconfigured to perform a form of diffusion analysis to identify apercentage of the soundfield represented by the SHC 511 that includesdiffuse sounds (which may refer to sounds having low levels of directionor lower order SHC, meaning those of SHC 511 having an order less thanor equal to one). As one example, the spatial analysis unit 650 mayperform diffusion analysis in a manner similar to that described in apaper by Ville Pulkki, entitled “Spatial Sound Reproduction withDirectional Audio Coding,” published in the J. Audio Eng. Soc., Vol. 55,No. 6, dated June 2007. In some instances, the spatial analysis unit 650may only analyze a non-zero subset of the HOA coefficients, such as thezero and first order ones of the SHC 511, when performing the diffusionanalysis to determine the diffusion percentage.

The content-characteristics analysis unit 652 may determine, based atleast in part on the SHC 511, whether the SHC 511 were generated via anatural recording of a soundfield or produced artificially (i.e.,synthetically) from, as one example, an audio object, such as a PCMobject. Furthermore, the content-characteristics analysis unit 652 maythen determine, based at least in part on whether SHC 511 were generatedvia an actual recording of a soundfield or from an artificial audioobject, the total number of channels to include in the bitstream 517.For example, the content-characteristics analysis unit 652 maydetermine, based at least in part on whether the SHC 511 were generatedfrom a recording of an actual soundfield or from an artificial audioobject, that the bitstream 517 is to include sixteen channels. Each ofthe channels may be a mono channel. The content-characteristics analysisunit 652 may further perform the determination of the total number ofchannels to include in the bitstream 517 based on an output bitrate ofthe bitstream 517, e.g., 1.2 Mbps.

In addition, the content-characteristics analysis unit 652 maydetermine, based at least in part on whether the SHC 511 were generatedfrom a recording of an actual soundfield or from an artificial audioobject, how many of the channels to allocate to coherent or, in otherwords, distinct components of the soundfield and how many of thechannels to allocate to diffuse or, in other words, backgroundcomponents of the soundfield. For example, when the SHC 511 weregenerated from a recording of an actual soundfield using, as oneexample, an Eigenmic, the content-characteristics analysis unit 652 mayallocate three of the channels to coherent components of the soundfieldand may allocate the remaining channels to diffuse components of thesoundfield. In this example, when the SHC 511 were generated from anartificial audio object, the content-characteristics analysis unit 652may allocate five of the channels to coherent components of thesoundfield and may allocate the remaining channels to diffuse componentsof the soundfield. In this way, the content analysis block (i.e.,content-characteristics analysis unit 652) may determine the type ofsoundfield (e.g., diffuse/directional, etc.) and in turn determine thenumber of coherent/diffuse components to extract.

The target bit rate may influence the number of components and thebitrate of the individual AAC coding engines (e.g., AAC coding engines660, 662). In other words, the content-characteristics analysis unit 652may further perform the determination of how many channels to allocateto coherent components and how many channels to allocate to diffusecomponents based on an output bitrate of the bitstream 517, e.g., 1.2Mbps.

In some examples, the channels allocated to coherent components of thesoundfield may have greater bit rates than the channels allocated todiffuse components of the soundfield. For example, a maximum bitrate ofthe bitstream 517 may be 1.2 Mb/sec. In this example, there may be fourchannels allocated to coherent components and 16 channels allocated todiffuse components. Furthermore, in this example, each of the channelsallocated to the coherent components may have a maximum bitrate of 64kb/sec. In this example, each of the channels allocated to the diffusecomponents may have a maximum bitrate of 48 kb/sec.

As indicated above, the content-characteristics analysis unit 652 maydetermine whether the SHC 511 were generated from a recording of anactual soundfield or from an artificial audio object. Thecontent-characteristics analysis unit 652 may make this determination invarious ways. For example, the audio encoding device 570 may use 4^(th)order SHC. In this example, the content-characteristics analysis unit652 may code 24 channels and predict a 25^(th) channel (which may berepresented as a vector). The content-characteristics analysis unit 652may apply scalars to at least some of the 24 channels and add theresulting values to determine the 25^(th) vector. Furthermore, in thisexample, the content-characteristics analysis unit 652 may determine anaccuracy of the predicted 25^(th) channel. In this example, if theaccuracy of the predicted 25^(th) channel is relatively high (e.g., theaccuracy exceeds a particular threshold), the SHC 511 is likely to begenerated from a synthetic audio object. In contrast, if the accuracy ofthe predicted 25^(th) channel is relatively low (e.g., the accuracy isbelow the particular threshold), the SHC 511 is more likely to representa recorded soundfield. For instance, in this example, if asignal-to-noise ratio (SNR) of the 25^(th) channel is over 100 decibels(dbs), the SHC 511 are more likely to represent a soundfield generatedfrom a synthetic audio object. In contrast, the SNR of a soundfieldrecorded using an eigen microphone may be 5 to 20 dbs. Thus, there maybe an apparent demarcation in SNR ratios between soundfield representedby the SHC 511 generated from an actual direct recording and from asynthetic audio object.

Furthermore, the content-characteristics analysis unit 652 may select,based at least in part on whether the SHC 511 were generated from arecording of an actual soundfield or from an artificial audio object,codebooks for quantizing the V vector. In other words, thecontent-characteristics analysis unit 652 may select different codebooksfor use in quantizing the V vector, depending on whether the soundfieldrepresented by the HOA coefficients is recorded or synthetic.

In some examples, the content-characteristics analysis unit 652 maydetermine, on a recurring basis, whether the SHC 511 were generated froma recording of an actual soundfield or from an artificial audio object.In some such examples, the recurring basis may be every frame. In otherexamples, the content-characteristics analysis unit 652 may perform thisdetermination once. Furthermore, the content-characteristics analysisunit 652 may determine, on a recurring basis, the total number ofchannels and the allocation of coherent component channels and diffusecomponent channels. In some such examples, the recurring basis may beevery frame. In other examples, the content-characteristics analysisunit 652 may perform this determination once. In some examples, thecontent-characteristics analysis unit 652 may select, on a recurringbasis, codebooks for use in quantizing the V vector. In some suchexamples, the recurring basis may be every frame. In other examples, thecontent-characteristics analysis unit 652 may perform this determinationonce.

The rotation unit 654 may perform a rotation operation of the HOAcoefficients. As discussed elsewhere in this disclosure (e.g., withrespect to FIGS. 55 and 55B), performing the rotation operation mayreduce the number of bits required to represent the SHC 511. In someexamples, the rotation analysis performed by the rotation unit 652 is aninstance of a singular value decomposition (“SVD”) analysis. Principalcomponent analysis (“PCA”), independent component analysis (“ICA”), andKarhunen-Loeve Transform (“KLT”) are related techniques that may beapplicable.

In the example of FIG. 54, the extract coherent components unit 656receives rotated SHC 511 from rotation unit 654. Furthermore, theextract coherent components unit 656 extracts, from the rotated SHC 511,those of the rotated SHC 511 associated with the coherent components ofthe soundfield.

In addition, the extract coherent components unit 656 generates one ormore coherent component channels. Each of the coherent componentchannels may include a different subset of the rotated SHC 511associated with the coherent coefficients of the soundfield. In theexample of FIG. 54, the extract coherent components unit 656 maygenerate from one to 16 coherent component channels. The number ofcoherent component channels generated by the extract coherent componentsunit 656 may be determined by the number of channels allocated by thecontent-characteristics analysis unit 652 to the coherent components ofthe soundfield. The bitrates of the coherent component channelsgenerated by the extract coherent components unit 656 may be thedetermined by the content-characteristics analysis unit 652.

Similarly, in the example of FIG. 54, extract diffuse components unit658 receives rotated SHC 511 from rotation unit 654. Furthermore, theextract diffuse components unit 658 extracts, from the rotated SHC 511,those of the rotated SHC 511 associated with diffuse components of thesoundfield.

In addition, the extract diffuse components unit 658 generates one ormore diffuse component channels. Each of the diffuse component channelsmay include a different subset of the rotated SHC 511 associated withthe diffuse coefficients of the soundfield. In the example of FIG. 54,the extract diffuse components unit 658 may generate from one to 9diffuse component channels. The number of diffuse component channelsgenerated by the extract diffuse components unit 658 may be determinedby the number of channels allocated by the content-characteristicsanalysis unit 652 to the diffuse components of the soundfield. Thebitrates of the diffuse component channels generated by the extractdiffuse components unit 658 may be the determined by thecontent-characteristics analysis unit 652.

In the example of FIG. 54, AAC coding unit 660 may use an AAC codec toencode the coherent component channels generated by extract coherentcomponents unit 656. Similarly, AAC coding unit 662 may use an AAC codecto encode the diffuse component channels generated by extract diffusecomponents unit 658. The multiplexer 664 (“MUX 664”) may multiplex theencoded coherent component channels and the encoded diffuse componentchannels, along with side data (e.g., an optimal angle determined byspatial analysis unit 650), to generate the bitstream 517.

In this way, the techniques may enable the audio encoding device 570 todetermine whether spherical harmonic coefficients representative of asoundfield are generated from a synthetic audio object.

In some examples, the audio encoding device 570 may determine, based onwhether the spherical harmonic coefficients are generated from asynthetic audio object, a subset of the spherical harmonic coefficientsrepresentative of distinct components of the soundfield. In these andother examples, the audio encoding device 570 may generate a bitstreamto include the subset of the spherical harmonic coefficients. The audioencoding device 570 may, in some instances, audio encode the subset ofthe spherical harmonic coefficients, and generate a bitstream to includethe audio encoded subset of the spherical harmonic coefficients.

In some examples, the audio encoding device 570 may determine, based onwhether the spherical harmonic coefficients are generated from asynthetic audio object, a subset of the spherical harmonic coefficientsrepresentative of background components of the soundfield. In these andother examples, the audio encoding device 570 may generate a bitstreamto include the subset of the spherical harmonic coefficients. In theseand other examples, the audio encoding device 570 may audio encode thesubset of the spherical harmonic coefficients, and generate a bitstreamto include the audio encoded subset of the spherical harmoniccoefficients.

In some examples, the audio encoding device 570 may perform a spatialanalysis with respect to the spherical harmonic coefficients to identifyan angle by which to rotate the soundfield represented by the sphericalharmonic coefficients and perform a rotation operation to rotate thesoundfield by the identified angle to generate rotated sphericalharmonic coefficients.

In some examples, the audio encoding device 570 may determine, based onwhether the spherical harmonic coefficients are generated from asynthetic audio object, a first subset of the spherical harmoniccoefficients representative of distinct components of the soundfield,and determine, based on whether the spherical harmonic coefficients aregenerated from a synthetic audio object, a second subset of thespherical harmonic coefficients representative of background componentsof the soundfield. In these and other examples, the audio encodingdevice 570 may audio encode the first subset of the spherical harmoniccoefficients having a higher target bitrate than that used to audioencode the second subject of the spherical harmonic coefficients.

In this way, various aspects of the techniques may enable the audioencoding device 570 to determine whether SCH 511 are generated from asynthetic audio object in accordance with the following clauses.

Clause 132512-1. A device, such as the audio encoding device 570,comprising: wherein the one or more processors are further configured todetermine whether spherical harmonic coefficients representative of asound field are generated from a synthetic audio object.

Clause 132512-2. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, exclude a first vector from aframed spherical harmonic coefficient matrix storing at least a portionof the spherical harmonic coefficients representative of the sound fieldto obtain a reduced framed spherical harmonic coefficient matrix.

Clause 132512-3. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, exclude a first vector from aframed spherical harmonic coefficient matrix storing at least a portionof the spherical harmonic coefficients representative of the sound fieldto obtain a reduced framed spherical harmonic coefficient matrix, andpredict a vector of the reduced framed spherical harmonic coefficientmatrix based on remaining vectors of the reduced framed sphericalharmonic coefficient matrix.

Clause 132512-4. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, exclude a first vector from aframed spherical harmonic coefficient matrix storing at least a portionof the spherical harmonic coefficients representative of the sound fieldto obtain a reduced framed spherical harmonic coefficient matrix, andpredict a vector of the reduced framed spherical harmonic coefficientmatrix based, at least in part, on a sum of remaining vectors of thereduced framed spherical harmonic coefficient matrix.

Clause 132512-5. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, predict a vector of a framedspherical harmonic coefficient matrix storing at least a portion of thespherical harmonic coefficients based, at least in part, on a sum ofremaining vectors of the framed spherical harmonic coefficient matrix.

Clause 132512-6. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, predict a vector of a framedspherical harmonic coefficient matrix storing at least a portion of thespherical harmonic coefficients based, at least in part, on a sum ofremaining vectors of the framed spherical harmonic coefficient matrix,and compute an error based on the predicted vector.

Clause 132512-7. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, predict a vector of a framedspherical harmonic coefficient matrix storing at least a portion of thespherical harmonic coefficients based, at least in part, on a sum ofremaining vectors of the framed spherical harmonic coefficient matrix,and compute an error based on the predicted vector and the correspondingvector of the framed spherical harmonic coefficient matrix.

Clause 132512-8. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, predict a vector of a framedspherical harmonic coefficient matrix storing at least a portion of thespherical harmonic coefficients based, at least in part, on a sum ofremaining vectors of the framed spherical harmonic coefficient matrix,and compute an error as a sum of the absolute value of the difference ofthe predicted vector and the corresponding vector of the framedspherical harmonic coefficient matrix.

Clause 132512-9. The device of clause 132512-1, wherein the one or moreprocessors are further configured to, when determining whether thespherical harmonic coefficients representative of the sound field aregenerated from the synthetic audio object, predict a vector of a framedspherical harmonic coefficient matrix storing at least a portion of thespherical harmonic coefficients based, at least in part, on a sum ofremaining vectors of the framed spherical harmonic coefficient matrix,compute an error based on the predicted vector and the correspondingvector of the framed spherical harmonic coefficient matrix, compute aratio based on an energy of the corresponding vector of the framedspherical harmonic coefficient matrix and the error, and compare theratio to a threshold to determine whether the spherical harmoniccoefficients representative of the sound field are generated from thesynthetic audio object.

Clause 132512-10. The device of any of claims 4-9, wherein the one ormore processors are further configured to, when predicting the vector,predict a first non-zero vector of the framed spherical harmoniccoefficient matrix storing at least the portion of the sphericalharmonic coefficients.

Clause 132512-11. The device of any of claims 1-10, wherein the one ormore processors are further configured to specify an indication ofwhether the spherical harmonic coefficients are generated from thesynthetic audio object in a bitstream that stores a compressed versionof the spherical harmonic coefficients.

Clause 132512-12. The device of clause 132512-11, wherein the indicationis a single bit.

Clause 132512-13. The device of clause 132512-1, wherein the one or moreprocessors are further configured to determine, based on whether thespherical harmonic coefficients are generated from a synthetic audioobject, a subset of the spherical harmonic coefficients representativeof distinct components of the sound field.

Clause 132512-14. The device of clause 132512-13, wherein the one ormore processors are further configured to generate a bitstream toinclude the subset of the spherical harmonic coefficients.

Clause 132512-15. The device of clause 132512-13, wherein the one ormore processors are further configured to audio encode the subset of thespherical harmonic coefficients, and generate a bitstream to include theaudio encoded subset of the spherical harmonic coefficients.

Clause 132512-16. The device of clause 132512-1, wherein the one or moreprocessors are further configured to determine, based on whether thespherical harmonic coefficients are generated from a synthetic audioobject, a subset of the spherical harmonic coefficients representativeof background components of the sound field.

Clause 132512-17. The device of clause 132512-16, wherein the one ormore processors are further configured to generate a bitstream toinclude the subset of the spherical harmonic coefficients.

Clause 132512-18. The device of clause 132512-15, wherein the one ormore processors are further configured to audio encode the subset of thespherical harmonic coefficients, and generate a bitstream to include theaudio encoded subset of the spherical harmonic coefficients.

Clause 132512-18. The device of clause 132512-1, wherein the one or moreprocessors are further configured to perform a spatial analysis withrespect to the spherical harmonic coefficients to identify an angle bywhich to rotate the sound field represented by the spherical harmoniccoefficients, and perform a rotation operation to rotate the sound fieldby the identified angle to generate rotated spherical harmoniccoefficients.

Clause 132512-20. The device of clause 132512-1, wherein the one or moreprocessors are further configured to determine, based on whether thespherical harmonic coefficients are generated from a synthetic audioobject, a first subset of the spherical harmonic coefficientsrepresentative of distinct components of the sound field, and determine,based on whether the spherical harmonic coefficients are generated froma synthetic audio object, a second subset of the spherical harmoniccoefficients representative of background components of the sound field.

Clause 132512-21. The device of clause 132512-20, wherein the one ormore processors are further configured to audio encode the first subsetof the spherical harmonic coefficients having a higher target bitratethan that used to audio encode the second subject of the sphericalharmonic coefficients.

Clause 132512-22. The device of clause 132512-1, wherein the one or moreprocessors are further configured to perform a singular valuedecomposition with respect to the spherical harmonic coefficients togenerate a U matrix representative of left-singular vectors of theplurality of spherical harmonic coefficients, an S matrix representativeof singular values of the plurality of spherical harmonic coefficientsand a V matrix representative of right-singular vectors of the pluralityof spherical harmonic coefficients.

Clause 132512-23. The device of clause 132512-22, wherein the one ormore processors are further configured to determine, based on whetherthe spherical harmonic coefficients are generated from a synthetic audioobject, those portions of one or more of the U matrix, the S matrix andthe V matrix representative of distinct components of the sound field.

Clause 132512-24. The device of clause 132512-22, wherein the one ormore processors are further configured to determine, based on whetherthe spherical harmonic coefficients are generated from a synthetic audioobject, those portions of one or more of the U matrix, the S matrix andthe V matrix representative of background components of the sound field.

Clause 132512-1C. A device, such as the audio encoding device 570,comprising: one or more processors configured to determine whetherspherical harmonic coefficients representative of a sound field aregenerated from a synthetic audio object based on a ratio computed as afunction of, at least, an energy of a vector of the spherical harmoniccoefficients and an error derived based on a predicted version of thevector of the spherical harmonic coefficients and the vector of thespherical harmonic coefficients.

In each of the various instances described above, it should beunderstood that the audio encoding device 570 may perform a method orotherwise comprise means to perform each step of the method for whichthe audio encoding device 570 is configured to perform In someinstances, these means may comprise one or more processors. In someinstances, the one or more processors may represent a special purposeprocessor configured by way of instructions stored to a non-transitorycomputer-readable storage medium. In other words, various aspects of thetechniques in each of the sets of encoding examples may provide for anon-transitory computer-readable storage medium having stored thereoninstructions that, when executed, cause the one or more processors toperform the method for which the audio encoding device 570 has beenconfigured to perform.

FIGS. 55 and 55B are diagrams illustrating an example of performingvarious aspects of the techniques described in this disclosure to rotatea soundfield 640. FIG. 55 is a diagram illustrating soundfield 640 priorto rotation in accordance with the various aspects of the techniquesdescribed in this disclosure. In the example of FIG. 55, the soundfield640 includes two locations of high pressure, denoted as location 642Aand 642B. These location 642A and 642B (“locations 642”) reside along aline 644 that has a non-zero slope (which is another way of referring toa line that is not horizontal, as horizontal lines have a slope ofzero). Given that the locations 642 have a z coordinate in addition to xand y coordinates, higher-order spherical basis functions may berequired to correctly represent this soundfield 640 (as thesehigher-order spherical basis functions describe the upper and lower ornon-horizontal portions of the soundfield. Rather than reduce thesoundfield 640 directly to SHCs 511, the audio encoding device 570 mayrotate the soundfield 640 until the line 644 connecting the locations642 is horizontal.

FIG. 55B is a diagram illustrating the soundfield 640 after beingrotated until the line 644 connecting the locations 642 is horizontal.As a result of rotating the soundfield 640 in this manner, the SHC 511may be derived such that higher-order ones of SHC 511 are specified aszeros given that the rotated soundfield 640 no longer has any locationsof pressure (or energy) with z coordinates. In this way, the audioencoding device 570 may rotate, translate or more generally adjust thesoundfield 640 to reduce the number of SHC 511 having non-zero values.In conjunction with various other aspects of the techniques, the audioencoding device 570 may then, rather than signal a 32-bit signed numberidentifying that these higher order ones of SHC 511 have zero values,signal in a field of the bitstream 517 that these higher order ones ofSHC 511 are not signaled. The audio encoding device 570 may also specifyrotation information in the bitstream 517 indicating how the soundfield640 was rotated, often by way of expressing an azimuth and elevation inthe manner described above. An extraction device, such as the audioencoding device, may then imply that these non-signaled ones of SHC 511have a zero value and, when reproducing the soundfield 640 based on SHC511, perform the rotation to rotate the soundfield 640 so that thesoundfield 640 resembles soundfield 640 shown in the example of FIG. 55.In this way, the audio encoding device 570 may reduce the number of SHC511 required to be specified in the bitstream 517 in accordance with thetechniques described in this disclosure.

A ‘spatial compaction’ algorithm may be used to determine the optimalrotation of the soundfield. In one embodiment, audio encoding device 570may perform the algorithm to iterate through all of the possible azimuthand elevation combinations (i.e., 1024×512 combinations in the aboveexample), rotating the soundfield for each combination, and calculatingthe number of SHC 511 that are above the threshold value. Theazimuth/elevation candidate combination which produces the least numberof SHC 511 above the threshold value may be considered to be what may bereferred to as the “optimum rotation.” In this rotated form, thesoundfield may require the least number of SHC 511 for representing thesoundfield and can may then be considered compacted. In some instances,the adjustment may comprise this optimal rotation and the adjustmentinformation described above may include this rotation (which may betermed “optimal rotation”) information (in terms of the azimuth andelevation angles).

In some instances, rather than only specify the azimuth angle and theelevation angle, the audio encoding device 570 may specify additionalangles in the form, as one example, of Euler angles. Euler anglesspecify the angle of rotation about the z-axis, the former x-axis andthe former z-axis. While described in this disclosure with respect tocombinations of azimuth and elevation angles, the techniques of thisdisclosure should not be limited to specifying only the azimuth andelevation angles, but may include specifying any number of angles,including the three Euler angles noted above. In this sense, the audioencoding device 570 may rotate the soundfield to reduce a number of theplurality of hierarchical elements that provide information relevant indescribing the soundfield and specify Euler angles as rotationinformation in the bitstream. The Euler angles, as noted above, maydescribe how the soundfield was rotated. When using Euler angles, thebitstream extraction device may parse the bitstream to determinerotation information that includes the Euler angles and, whenreproducing the soundfield based on those of the plurality ofhierarchical elements that provide information relevant in describingthe soundfield, rotating the soundfield based on the Euler angles.

Moreover, in some instances, rather than explicitly specify these anglesin the bitstream 517, the audio encoding device 570 may specify an index(which may be referred to as a “rotation index”) associated withpre-defined combinations of the one or more angles specifying therotation. In other words, the rotation information may, in someinstances, include the rotation index. In these instances, a given valueof the rotation index, such as a value of zero, may indicate that norotation was performed. This rotation index may be used in relation to arotation table. That is, the audio encoding device 570 may include arotation table comprising an entry for each of the combinations of theazimuth angle and the elevation angle.

Alternatively, the rotation table may include an entry for each matrixtransforms representative of each combination of the azimuth angle andthe elevation angle. That is, the audio encoding device 570 may store arotation table having an entry for each matrix transformation forrotating the soundfield by each of the combinations of azimuth andelevation angles. Typically, the audio encoding device 570 receives SHC511 and derives SHC 511′, when rotation is performed, according to thefollowing equation:

$\begin{bmatrix}{SHC} \\27^{\prime}\end{bmatrix} = {{\begin{bmatrix}{EncMat}_{2} \\\left( {25 \times 32} \right)\end{bmatrix}\begin{bmatrix}{InvMat}_{1} \\\left( {32 \times 25} \right)\end{bmatrix}}\begin{bmatrix}{SHC} \\27\end{bmatrix}}$

In the equation above, SHC 511′ are computed as a function of anencoding matrix for encoding a soundfield in terms of a second frame ofreference (EncMat₂), an inversion matrix for reverting SHC 511 back to asoundfield in terms of a first frame of reference (InvMat₁), and SHC511. EncMat₂ is of size 25×32, while InvMat₂ is of size 32×25. Both ofSHC 511′ and SHC 511 are of size 25, where SHC 511′ may be furtherreduced due to removal of those that do not specify salient audioinformation. EncMat₂ may vary for each azimuth and elevation anglecombination, while InvMat₁ may remain static with respect to eachazimuth and elevation angle combination. The rotation table may includean entry storing the result of multiplying each different EncMat₂ toInvMat₁.

FIG. 56 is a diagram illustrating an example soundfield capturedaccording to a first frame of reference that is then rotated inaccordance with the techniques described in this disclosure to expressthe soundfield in terms of a second frame of reference. In the exampleof FIG. 56, the soundfield surrounding an Eigen-microphone 646 iscaptured assuming a first frame of reference, which is denoted by theX₁, Y₁, and Z₁ axes in the example of FIG. 56. SHC 511 describe thesoundfield in terms of this first frame of reference. The InvMat₁transforms SHC 511 back to the soundfield, enabling the soundfield to berotated to the second frame of reference denoted by the X₂, Y₂, and Z₂axes in the example of FIG. 56. The EncMat₂ described above may rotatethe soundfield and generate SHC 511′ describing this rotated soundfieldin terms of the second frame of reference.

In any event, the above equation may be derived as follows. Given thatthe soundfield is recorded with a certain coordinate system, such thatthe front is considered the direction of the x-axis, the 32 microphonepositions of an Eigen microphone (or other microphone configurations)are defined from this reference coordinate system. Rotation of thesoundfield may then be considered as a rotation of this frame ofreference. For the assumed frame of reference, SHC 511 may be calculatedas follows:

$\begin{bmatrix}{SHC} \\27\end{bmatrix} = {\begin{bmatrix}{Y_{0}^{0}\left( {Pos}_{1} \right)} & {Y_{0}^{0}\left( {Pos}_{2} \right)} & \ldots & {Y_{0}^{0}\left( {Pos}_{32} \right)} \\{Y_{1}^{- 1}\left( {Pos}_{1} \right)} & \ldots & \; & {Y_{1}^{- 1}\left( {Pos}_{32} \right)} \\\ldots & \ddots & \; & \; \\{Y_{4}^{4}\left( {Pos}_{1} \right)} & \; & \; & {Y_{4}^{4}\left( {Pos}_{32} \right)}\end{bmatrix}\begin{bmatrix}{{mic}_{1}(t)} \\{{mic}_{2}(t)} \\\vdots \\{{mic}_{32}(t)}\end{bmatrix}}$

In the above equation, the Y_(n) ^(m) represent the spherical basisfunctions at the position (Pos_(i)) of the i^(th) microphone (where imay be 1-32 in this example). The mic_(i) vector denotes the microphonesignal for the i^(th) microphone for a time t. The positions (Pos_(i))refer to the position of the microphone in the first frame of reference(i.e., the frame of reference prior to rotation in this example).

The above equation may be expressed alternatively in terms of themathematical expressions denoted above as:

[SHC _(—)27]=[E _(s)(θ,φ)][m _(i)(t)].

To rotate the soundfield (or in the second frame of reference), theposition (Pos_(i)) would be calculated in the second frame of reference.As long as the original microphone signals are present, the soundfieldmay be arbitrarily rotated. However, the original microphone signals(mic_(i)(t)) are often not available. The problem then may be how toretrieve the microphone signals (mic_(i)(t)) from SHC 511. If a T-designis used (as in a 32 microphone Eigen microphone), the solution to thisproblem may be achieved by solving the following equation:

$\begin{bmatrix}{{mic}_{1}(t)} \\{{mic}_{2}(t)} \\\vdots \\{{mic}_{32}(t)}\end{bmatrix} = {\left\lbrack {InvMat}_{1} \right\rbrack \begin{bmatrix}{SHC} \\27\end{bmatrix}}$

This InvMat₁ may specify the spherical harmonic basis functions computedaccording to the position of the microphones as specified relative tothe first frame of reference. This equation may also be expressed as[m_(i)(t)]=[E_(s)(θ,φ)]⁻¹[SHC], as noted above.

Once the microphone signals (mic_(i)(t)) are retrieved in accordancewith the equation above, the microphone signals (mic_(i)(t)) describingthe soundfield may be rotated to compute SHC 511′ corresponding to thesecond frame of reference, resulting in the following equation:

$\begin{bmatrix}{SHC} \\27^{\prime}\end{bmatrix} = {{\begin{bmatrix}{EncMat}_{2} \\\left( {25 \times 32} \right)\end{bmatrix}\begin{bmatrix}{InvMat}_{1} \\\left( {32 \times 25} \right)\end{bmatrix}}\begin{bmatrix}{SHC} \\27\end{bmatrix}}$

The EncMat₂ specifies the spherical harmonic basis functions from arotated position (Pos_(i)′). In this way, the EncMat₂ may effectivelyspecify a combination of the azimuth and elevation angle. Thus, when therotation table stores the result of

$\begin{bmatrix}{EncMat}_{2} \\\left( {25 \times 32} \right)\end{bmatrix}\begin{bmatrix}{InvMat}_{1} \\\left( {32 \times 25} \right)\end{bmatrix}$

for each combination of the azimuth and elevation angles, the rotationtable effectively specifies each combination of the azimuth andelevation angles. The above equation may also be expressed as:

[SHC 27′]=[E _(s)(θ₂,φ₂)][E _(s)(θ₁,φ₁)]⁻¹ [SHC 27],

where θ₂, φ₂ represent a second azimuth angle and a second elevationangle different form the first azimuth angle and elevation anglerepresented by θ₁, φ₁. The θ₁, φ₁ correspond to the first frame ofreference while the θ₂, φ₂ correspond to the second frame of reference.The InvMat₁ may therefore correspond to [E_(s)(θ₁, φ₁)]⁻¹, while theEncMat₂ may correspond to [E_(s)(θ₂, φ₂)].

The above may represent a more simplified version of the computationthat does not consider the filtering operation, represented above invarious equations denoting the derivation of SHC 511 in the frequencydomain by the j_(n)(•) function, which refers to the spherical Besselfunction of order n. In the time domain, this j_(n)(•) functionrepresents a filtering operations that is specific to a particularorder, n. With filtering, rotation may be performed per order. Toillustrate, consider the following equations:

a _(n) ^(k)(t)□b _(n)(t)*

[Y _(n) ^(m) ]□[m _(i)(t)]

a _(n) ^(k)(t)□

[Y _(n) ^(m) ]□b _(n)(t)*[m _(i)(t)]

From these equations, the rotated SHC 511′ for orders are doneseparately since the b_(n)(t) are different for each order. As a result,the above equation may be altered as follows for computing the firstorder ones of the rotated SHC 511′:

$\begin{bmatrix}1^{st} \\{Order} \\{SHC} \\27^{\prime}\end{bmatrix} = {{\begin{bmatrix}{EncMat}_{2} \\\left( {3 \times 32} \right)\end{bmatrix}\begin{bmatrix}{InvMat}_{1} \\\left( {32 \times 3} \right)\end{bmatrix}}\begin{bmatrix}1^{st} \\{Order} \\{SHC} \\27\end{bmatrix}}$

Given that there are three first order ones of SHC 511, each of the SHC511′ and 511 vectors are of size three in the above equation. Likewise,for the second order, the following equation may be applied:

$\begin{bmatrix}2^{st} \\{Order} \\{SHC} \\27^{\prime}\end{bmatrix} = {{\begin{bmatrix}{EncMat}_{2} \\\left( {5 \times 32} \right)\end{bmatrix}\begin{bmatrix}{InvMat}_{1} \\\left( {32 \times 5} \right)\end{bmatrix}}\begin{bmatrix}2^{nd} \\{Order} \\{SHC} \\27\end{bmatrix}}$

Again, given that there are five second order ones of SHC 511, each ofthe SHC 511′ and 511 vectors are of size five in the above equation. Theremaining equations for the other orders, i.e., the third and fourthorders, may be similar to that described above, following the samepattern with regard to the sizes of the matrixes (in that the number ofrows of EncMat₂, the number of columns of InvMat₁ and the sizes of thethird and fourth order SHC 511 and SHC 511′ vectors is equal to thenumber of sub-orders (m times two plus 1) of each of the third andfourth order spherical harmonic basis functions.

The audio encoding device 570 may therefore perform this rotationoperation with respect to every combination of azimuth and elevationangle in an attempt to identify the so-called optimal rotation. Theaudio encoding device 570 may, after performing this rotation operation,compute the number of SHC 511′ above the threshold value. In someinstances, the audio encoding device 570 may perform this rotation toderive a series of SHC 511′ that represent the soundfield over aduration of time, such as an audio frame. By performing this rotation toderive the series of the SHC 511′ that represent the soundfield overthis time duration, the audio encoding device 570 may reduce the numberof rotation operations that have to be performed in comparison for doingthis for each set of the SHC 511 describing the soundfield for timedurations less than a frame or other length. In any event, the audioencoding device 570 may save, throughout this process, those of SHC 511′having the least number of the SHC 511′ greater than the thresholdvalue.

However, performing this rotation operation with respect to everycombination of azimuth and elevation angle may be processor intensive ortime-consuming. As a result, the audio encoding device 570 may notperform what may be characterized as this “brute force” implementationof the rotation algorithm. Instead, the audio encoding device 570 mayperform rotations with respect to a subset of possibly known(statistically-wise) combinations of azimuth and elevation angle thatoffer generally good compaction, performing further rotations withregard to combinations around those of this subset providing bettercompaction compared to other combinations in the subset.

As another alternative, the audio encoding device 570 may perform thisrotation with respect to only the known subset of combinations. Asanother alternative, the audio encoding device 570 may follow atrajectory (spatially) of combinations, performing the rotations withrespect to this trajectory of combinations. As another alternative, theaudio encoding device 570 may specify a compaction threshold thatdefines a maximum number of SHC 511′ having non-zero values above thethreshold value. This compaction threshold may effectively set astopping point to the search, such that, when the audio encoding device570 performs a rotation and determines that the number of SHC 511′having a value above the set threshold is less than or equal to (or lessthan in some instances) than the compaction threshold, the audioencoding device 570 stops performing any additional rotation operationswith respect to remaining combinations. As yet another alternative, theaudio encoding device 570 may traverse a hierarchically arranged tree(or other data structure) of combinations, performing the rotationoperations with respect to the current combination and traversing thetree to the right or left (e.g., for binary trees) depending on thenumber of SHC 511′ having a non-zero value greater than the thresholdvalue.

In this sense, each of these alternatives involve performing a first andsecond rotation operation and comparing the result of performing thefirst and second rotation operation to identify one of the first andsecond rotation operations that results in the least number of the SHC511′ having a non-zero value greater than the threshold value.Accordingly, the audio encoding device 570 may perform a first rotationoperation on the soundfield to rotate the soundfield in accordance witha first azimuth angle and a first elevation angle and determine a firstnumber of the plurality of hierarchical elements representative of thesoundfield rotated in accordance with the first azimuth angle and thefirst elevation angle that provide information relevant in describingthe soundfield. The audio encoding device 570 may also perform a secondrotation operation on the soundfield to rotate the soundfield inaccordance with a second azimuth angle and a second elevation angle anddetermine a second number of the plurality of hierarchical elementsrepresentative of the soundfield rotated in accordance with the secondazimuth angle and the second elevation angle that provide informationrelevant in describing the soundfield. Furthermore, the audio encodingdevice 570 may select the first rotation operation or the secondrotation operation based on a comparison of the first number of theplurality of hierarchical elements and the second number of theplurality of hierarchical elements.

In some instances, the rotation algorithm may be performed with respectto a duration of time, where subsequent invocations of the rotationalgorithm may perform rotation operations based on past invocations ofthe rotation algorithm. In other words, the rotation algorithm may beadaptive based on past rotation information determined when rotating thesoundfield for a previous duration of time. For example, the audioencoding device 570 may rotate the soundfield for a first duration oftime, e.g., an audio frame, to identify SHC 511′ for this first durationof time. The audio encoding device 570 may specify the rotationinformation and the SHC 511′ in the bitstream 517 in any of the waysdescribed above. This rotation information may be referred to as firstrotation information in that it describes the rotation of the soundfieldfor the first duration of time. The audio encoding device 570 may then,based on this first rotation information, rotate the soundfield for asecond duration of time, e.g., a second audio frame, to identify SHC511′ for this second duration of time. The audio encoding device 570 mayutilize this first rotation information when performing the secondrotation operation over the second duration of time to initialize asearch for the “optimal” combination of azimuth and elevation angles, asone example. The audio encoding device 570 may then specify the SHC 511′and corresponding rotation information for the second duration of time(which may be referred to as “second rotation information”) in thebitstream 517.

While described above with respect to a number of different ways bywhich to implement the rotation algorithm to reduce processing timeand/or consumption, the techniques may be performed with respect to anyalgorithm that may reduce or otherwise speed the identification of whatmay be referred to as the “optimal rotation.” Moreover, the techniquesmay be performed with respect to any algorithm that identifyingnon-optimal rotations but that may improve performance in other aspects,often measured in terms of speed or processor or other resourceutilization.

FIGS. 57-57E are each a diagram illustrating bitstreams 517A-517E formedin accordance with the techniques described in this disclosure. In theexample of FIG. 57A, the bitstream 517A may represent one example of thebitstream 517 shown in FIG. 53 above. The bitstream 517A includes an SHCpresent field 670 and a field that stores SHC 511′ (where the field isdenoted “SHC 511′”). The SHC present field 670 may include a bitcorresponding to each of SHC 511. The SHC 511′ may represent those ofSHC 511 that are specified in the bitstream, which may be less in numberthan the number of the SHC 511. Typically, each of SHC 511′ are those ofSHC 511 having non-zero values. As noted above, for a fourth-orderrepresentation of any given soundfield, (1+4)² or 25 SHC are required.Eliminating one or more of these SHC and replacing these zero valued SHCwith a single bit may save 31 bits, which may be allocated to expressingother portions of the soundfield in more detail or otherwise removed tofacilitate efficient bandwidth utilization.

In the example of FIG. 57B, the bitstream 517B may represent one exampleof the bitstream 517 shown in FIG. 53 above. The bitstream 517B includesan transformation information field 672 (“transformation information672”) and a field that stores SHC 511′ (where the field is denoted “SHC511′”). The transformation information 672, as noted above, may comprisetranslation information, rotation information, and/or any other form ofinformation denoting an adjustment to a soundfield. In some instances,the transformation information 672 may also specify a highest order ofSHC 511 that are specified in the bitstream 517B as SHC 511′. That is,the transformation information 672 may indicate an order of three, whichthe extraction device may understand as indicating that SHC 511′includes those of SHC 511 up to and including those of SHC 511 having anorder of three. The extraction device may then be configured to set SHC511 having an order of four or higher to zero, thereby potentiallyremoving the explicit signaling of SHC 511 of order four or higher inthe bitstream.

In the example of FIG. 57C, the bitstream 517C may represent one exampleof the bitstream 517 shown in FIG. 53 above. The bitstream 517C includesthe transformation information field 672 (“transformation information672”), the SHC present field 670 and a field that stores SHC 511′ (wherethe field is denoted “SHC 511′”). Rather than be configured tounderstand which order of SHC 511 are not signaled as described abovewith respect to FIG. 57B, the SHC present field 670 may explicitlysignal which of the SHC 511 are specified in the bitstream 517C as SHC511′.

In the example of FIG. 57D, the bitstream 517D may represent one exampleof the bitstream 517 shown in FIG. 53 above. The bitstream 517D includesan order field 674 (“order 60”), the SHC present field 670, an azimuthflag 676 (“AZF 676”), an elevation flag 678 (“ELF 678”), an azimuthangle field 680 (“azimuth 680”), an elevation angle field 682(“elevation 682”) and a field that stores SHC 511′ (where, again, thefield is denoted “SHC 511′”). The order field 674 specifies the order ofSHC 511′, i.e., the order denoted by n above for the highest order ofthe spherical basis function used to represent the soundfield. The orderfield 674 is shown as being an 8-bit field, but may be of other variousbit sizes, such as three (which is the number of bits required tospecify the forth order). The SHC present field 670 is shown as a 25-bitfield. Again, however, the SHC present field 670 may be of other variousbit sizes. The SHC present field 670 is shown as 25 bits to indicatethat the SHC present field 670 may include one bit for each of thespherical harmonic coefficients corresponding to a fourth orderrepresentation of the soundfield.

The azimuth flag 676 represents a one-bit flag that specifies whetherthe azimuth field 680 is present in the bitstream 517D. When the azimuthflag 676 is set to one, the azimuth field 680 for SHC 511′ is present inthe bitstream 517D. When the azimuth flag 676 is set to zero, theazimuth field 680 for SHC 511′ is not present or otherwise specified inthe bitstream 517D. Likewise, the elevation flag 678 represents aone-bit flag that specifies whether the elevation field 682 is presentin the bitstream 517D. When the elevation flag 678 is set to one, theelevation field 682 for SHC 511′ is present in the bitstream 517D. Whenthe elevation flag 678 is set to zero, the elevation field 682 for SHC511′ is not present or otherwise specified in the bitstream 517D. Whiledescribed as one signaling that the corresponding field is present andzero signaling that the corresponding field is not present, theconvention may be reversed such that a zero specifies that thecorresponding field is specified in the bitstream 517D and a onespecifies that the corresponding field is not specified in the bitstream517D. The techniques described in this disclosure should therefore notbe limited in this respect.

The azimuth field 680 represents a 10-bit field that specifies, whenpresent in the bitstream 517D, the azimuth angle. While shown as a10-bit field, the azimuth field 680 may be of other bit sizes. Theelevation field 682 represents a 9-bit field that specifies, whenpresent in the bitstream 517D, the elevation angle. The azimuth angleand the elevation angle specified in fields 680 and 682, respectively,may in conjunction with the flags 676 and 678 represent the rotationinformation described above. This rotation information may be used torotate the soundfield so as to recover SHC 511 in the original frame ofreference.

The SHC 511′ field is shown as a variable field that is of size X. TheSHC 511′ field may vary due to the number of SHC 511′ specified in thebitstream as denoted by the SHC present field 670. The size X may bederived as a function of the number of ones in SHC present field 670times 32-bits (which is the size of each SHC 511′).

In the example of FIG. 57E, the bitstream 517E may represent anotherexample of the bitstream 517 shown in FIG. 53 above. The bitstream 517Eincludes an order field 674 (“order 60”), an SHC present field 670, anda rotation index field 684, and a field that stores SHC 511′ (where,again, the field is denoted “SHC 511′”). The order field 674, the SHCpresent field 670 and the SHC 511′ field may be substantially similar tothose described above. The rotation index field 684 may represent a20-bit field used to specify one of the 1024×512 (or, in other words,524288) combinations of the elevation and azimuth angles. In someinstances, only 19-bits may be used to specify this rotation index field684, and the audio encoding device 570 may specify an additional flag inthe bitstream to indicate whether a rotation operation was performed(and, therefore, whether the rotation index field 684 is present in thebitstream). This rotation index field 684 specifies the rotation indexnoted above, which may refer to an entry in a rotation table common toboth the audio encoding device 570 and the bitstream extraction device.This rotation table may, in some instances, store the differentcombinations of the azimuth and elevation angles. Alternatively, therotation table may store the matrix described above, which effectivelystores the different combinations of the azimuth and elevation angles inmatrix form.

FIG. 58 is a flowchart illustrating example operation of the audioencoding device 570 shown in the example of FIG. 53 in implementing therotation aspects of the techniques described in this disclosure.Initially, the audio encoding device 570 may select an azimuth angle andelevation angle combination in accordance with one or more of thevarious rotation algorithms described above (800). The audio encodingdevice 570 may then rotate the soundfield according to the selectedazimuth and elevation angle (802). As described above, the audioencoding device 570 may first derive the soundfield from SHC 511 usingthe InvMat₁ noted above. The audio encoding device 570 may alsodetermine SHC 511′ that represent the rotated soundfield (804). Whiledescribed as being separate steps or operations, the audio encodingdevice 570 may apply a transform (which may represent the result of[EncMat₂][InvMat₁]) that represents the selection of the azimuth angleand the elevation angle combination, deriving the soundfield from theSHC 511, rotating the soundfield and determining the SHC 511′ thatrepresent the rotated soundfield.

In any event, the audio encoding device 570 may then compute a number ofthe determined SHC 511′ that are greater than a threshold value,comparing this number to a number computed for a previous iteration withrespect to a previous azimuth angle and elevation angle combination(806, 808). In the first iteration with respect to the first azimuthangle and elevation angle combination, this comparison may be to apredefined previous number (which may set to zero). In any event, if thedetermined number of the SHC 511′ is less than the previous number(“YES” 808), the audio encoding device 570 stores the SHC 511′, theazimuth angle and the elevation angle, often replacing the previous SHC511′, azimuth angle and elevation angle stored from a previous iterationof the rotation algorithm (810).

If the determined number of the SHC 511′ is not less than the previousnumber (“NO” 808) or after storing the SHC 511′, azimuth angle andelevation angle in place of the previously stored SHC 511′, azimuthangle and elevation angle, the audio encoding device 570 may determinewhether the rotation algorithm has finished (812). That is, the audioencoding device 570 may, as one example, determine whether all availablecombination of azimuth angle and elevation angle have been evaluated. Inother examples, the audio encoding device 570 may determine whetherother criteria are met (such as that all of a defined subset ofcombination have been performed, whether a given trajectory has beentraversed, whether a hierarchical tree has been traversed to a leafnode, etc.) such that the audio encoding device 570 has finishedperforming the rotation algorithm. If not finished (“NO” 812), the audioencoding device 570 may perform the above process with respect toanother selected combination (800-812). If finished (“YES” 812), theaudio encoding device 570 may specify the stored SHC 511′, azimuth angleand elevation angle in the bitstream 517 in one of the various waysdescribed above (814).

FIG. 59 is a flowchart illustrating example operation of the audioencoding device 570 shown in the example of FIG. 53 in performing thetransformation aspects of the techniques described in this disclosure.Initially, the audio encoding device 570 may select a matrix thatrepresents a linear invertible transform (820). One example of a matrixthat represents a linear invertible transform may be the above shownmatrix that is the result of [EncMat₁][IncMat₁]. The audio encodingdevice 570 may then apply the matrix to the soundfield to transform thesoundfield (822). The audio encoding device 570 may also determine SHC511′ that represent the rotated soundfield (824). While described asbeing separate steps or operations, the audio encoding device 570 mayapply a transform (which may represent the result of[EncMat₂][InvMat₁]), deriving the soundfield from the SHC 511, transformthe soundfield and determining the SHC 511′ that represent the transformsoundfield.

In any event, the audio encoding device 570 may then compute a number ofthe determined SHC 511′ that are greater than a threshold value,comparing this number to a number computed for a previous iteration withrespect to a previous application of a transform matrix (826, 828). Ifthe determined number of the SHC 511′ is less than the previous number(“YES” 828), the audio encoding device 570 stores the SHC 511′ and thematrix (or some derivative thereof, such as an index associated with thematrix), often replacing the previous SHC 511′ and matrix (or derivativethereof) stored from a previous iteration of the rotation algorithm(830).

If the determined number of the SHC 511′ is not less than the previousnumber (“NO” 828) or after storing the SHC 511′ and matrix in place ofthe previously stored SHC 511′ and matrix, the audio encoding device 570may determine whether the transform algorithm has finished (832). Thatis, the audio encoding device 570 may, as one example, determine whetherall available transform matrixes have been evaluated. In other examples,the audio encoding device 570 may determine whether other criteria aremet (such as that all of a defined subset of the available transformmatrixes have been performed, whether a given trajectory has beentraversed, whether a hierarchical tree has been traversed to a leafnode, etc.) such that the audio encoding device 570 has finishedperforming the transform algorithm. If not finished (“NO” 832), theaudio encoding device 570 may perform the above process with respect toanother selected transform matrix (820-832). If finished (“YES” 832),the audio encoding device 570 may specify the stored SHC 511′ and thematrix in the bitstream 517 in one of the various ways described above(834).

In some examples, the transform algorithm may perform a singleiteration, evaluating a single transform matrix. That is, the transformmatrix may comprise any matrix that represents a linear invertibletransform. In some instances, the linear invertible transform maytransform the soundfield from the spatial domain to the frequencydomain. Examples of such a linear invertible transform may include adiscrete Fourier transform (DFT). Application of the DFT may onlyinvolve a single iteration and therefore would not necessarily includesteps to determine whether the transform algorithm is finished.Accordingly, the techniques should not be limited to the example of FIG.59.

In other words, one example of a linear invertible transform is adiscrete Fourier transform (DFT). The twenty-five SHC 511′ could beoperated on by the DFT to form a set of twenty-five complexcoefficients. The audio encoding device 570 may also zero-pad The twentyfive SHCs 511′ to be an integer multiple of 2, so as to potentiallyincrease the resolution of the bin size of the DFT, and potentially havea more efficient implementation of the DFT, e.g. through applying a fastFourier transform (FFT). In some instances, increasing the resolution ofthe DFT beyond 25 points is not necessarily required. In the transformdomain, the audio encoding device 570 may apply a threshold to determinewhether there is any spectral energy in a particular bin. The audioencoding device 570, in this context, may then discard or zero-outspectral coefficient energy that is below this threshold, and the audioencoding device 570 may apply an inverse transform to recover SHC 511′having one or more of the SHC 511′ discarded or zeroed-out. That is,after the inverse transform is applied, the coefficients below thethreshold are not present, and as a result, less bits may be used toencode the soundfield.

In one or more examples, the functions described may be implemented inhardware, software, firmware, or any combination thereof. If implementedin software, the functions may be stored on or transmitted over as oneor more instructions or code on a computer-readable medium and executedby a hardware-based processing unit. Computer-readable media may includecomputer-readable storage media, which corresponds to a tangible mediumsuch as data storage media, or communication media including any mediumthat facilitates transfer of a computer program from one place toanother, e.g., according to a communication protocol. In this manner,computer-readable media generally may correspond to (1) tangiblecomputer-readable storage media which is non-transitory or (2) acommunication medium such as a signal or carrier wave. Data storagemedia may be any available media that can be accessed by one or morecomputers or one or more processors to retrieve instructions, codeand/or data structures for implementation of the techniques described inthis disclosure. A computer program product may include acomputer-readable medium.

By way of example, and not limitation, such computer-readable storagemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage, or other magnetic storage devices, flashmemory, or any other medium that can be used to store desired programcode in the form of instructions or data structures and that can beaccessed by a computer. Also, any connection is properly termed acomputer-readable medium. For example, if instructions are transmittedfrom a website, server, or other remote source using a coaxial cable,fiber optic cable, twisted pair, digital subscriber line (DSL), orwireless technologies such as infrared, radio, and microwave, then thecoaxial cable, fiber optic cable, twisted pair, DSL, or wirelesstechnologies such as infrared, radio, and microwave are included in thedefinition of medium. It should be understood, however, thatcomputer-readable storage media and data storage media do not includeconnections, carrier waves, signals, or other transitory media, but areinstead directed to non-transitory, tangible storage media. Disk anddisc, as used herein, includes compact disc (CD), laser disc, opticaldisc, digital versatile disc (DVD), floppy disk and Blu-ray disc, wheredisks usually reproduce data magnetically, while discs reproduce dataoptically with lasers. Combinations of the above should also be includedwithin the scope of computer-readable media.

Instructions may be executed by one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,application specific integrated circuits (ASICs), field programmablelogic arrays (FPGAs), or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated hardware and/or software modules configured for encoding anddecoding, or incorporated in a combined codec. Also, the techniquescould be fully implemented in one or more circuits or logic elements.

The techniques of this disclosure may be implemented in a wide varietyof devices or apparatuses, including a wireless handset, an integratedcircuit (IC) or a set of ICs (e.g., a chip set). Various components,modules, or units are described in this disclosure to emphasizefunctional aspects of devices configured to perform the disclosedtechniques, but do not necessarily require realization by differenthardware units. Rather, as described above, various units may becombined in a codec hardware unit or provided by a collection ofinteroperative hardware units, including one or more processors asdescribed above, in conjunction with suitable software and/or firmware.

Various embodiments of the techniques have been described. These andother aspects of the techniques are within the scope of the followingclaims.

1. A method comprising: determining a quantization step size to be usedwhen compressing a spatial component of a sound field, the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients.
 2. The method ofclaim 1, wherein determining the quantization step size comprisesdetermining the quantization step size based on a target bit rate. 3.The method of claim 1, wherein selecting one of the plurality ofquantization step sizes comprises: determining an estimate of a numberof bits used to represent the spatial component; and determining thequantization step size based on a difference between the estimate and atarget bit rate.
 4. The method of claim 1, wherein selecting one of theplurality of quantization step sizes comprises: determining an estimateof a number of bits used to represent the spatial component; determininga difference between the estimate and a target bit rate; and determiningthe quantization step size by adding the difference to the target bitrate.
 5. The method of claim 3, wherein determining the estimate of thenumber of bits comprises calculating the estimated of the number of bitsthat are to be generated for the spatial component given a code bookcorresponding to the target bit rate.
 6. The method of claim 3, whereindetermining the estimate of the number of bits comprises calculating theestimated of the number of bits that are to be generated for the spatialcomponent given a coding mode used when compressing the spatialcomponent.
 7. The method of claim 3, wherein determining the estimate ofthe number of bits comprises: calculating a first estimate of the numberof bits that are to be generated for the spatial component given a firstcoding mode to be used when compressing the spatial component;calculating a second estimate of the number of bits that are to begenerated for the spatial component given a second coding mode to beused when compressing the spatial component; selecting the one of thefirst estimate and the second estimate having a least number of bits tobe used as the determined estimate of the number of bits.
 8. The methodof claim 3, wherein determining the estimate of the number of bitscomprises: identifying a category identifier identifying a category towhich the spatial component corresponds; identifying a bit length of aresidual value for the spatial component that would result whencompressing the spatial component corresponding to the category; anddetermining the estimate of the number of bits by, at least in part,adding a number of bits used to represent the category identifier to thebit length of the residual value.
 9. The method of claim 1, furthercomprising selecting one of a plurality of code books to be used whencompressing the spatial component.
 10. The method of claim 9, whereinselecting one of the plurality of code books comprises: determining anestimate of a number of bits used to represent the spatial componentusing each of the plurality of code books; and selecting the one of theplurality of code books that resulted in the determined estimate havingthe least number of bits.
 11. The method of claim 9, wherein selectingone of the plurality of code books comprises determining an estimate ofa number of bits used to represent the spatial component using one ormore of the plurality of code books, the one or more of the plurality ofcode books selected based on an order of elements of the spatialcomponent to be compressed relative to other elements of the spatialcomponent.
 12. The method of claim 9, wherein selecting one of theplurality of code books comprises determining an estimate of a number ofbits used to represent the spatial component using one of the pluralityof code books designed to be used when the spatial component is notpredicted from a subsequent spatial component.
 13. The method of claim9, wherein selecting one of the plurality of code books comprisesdetermining an estimate of a number of bits used to represent thespatial component using one of the plurality of code books designed tobe used when the spatial component is predicted from a subsequentspatial component.
 14. The method of claim 9, wherein selecting one ofthe plurality of code books comprises determining an estimate of anumber of bits used to represent the spatial component using one of theplurality of code books designed to be used when the spatial componentis representative of a synthetic audio object in the sound field. 15.The method of claim 9, wherein the synthetic audio object comprises apulse code modulated (PCM) audio object.
 16. The method of claim 9,wherein selecting one of the plurality of code books comprisesdetermining an estimate of a number of bits used to represent thespatial component using one of the plurality of code books designed tobe used when the spatial component is representative of a recorded audioobject in the sound field.
 17. A device comprising: one or moreprocessors configured to determine a quantization step size to be usedwhen compressing a spatial component of a sound field, the spatialcomponent generated by performing a vector based synthesis with respectto a plurality of spherical harmonic coefficients.
 18. The device ofclaim 17, wherein the one or more processors are configured to determinethe quantization step size based on a target bit rate.
 19. The device ofclaim 17, wherein the one or more processors are configured to determinean estimate of a number of bits used to represent the spatial component,and determine the quantization step size based on a difference betweenthe estimate and a target bit rate.
 20. The device of claim 17, whereinthe one or more processors are configured to determine an estimate of anumber of bits used to represent the spatial component, determine adifference between the estimate and a target bit rate, and determine thequantization step size by adding the difference to the target bit rate.21. The device of claim 19, wherein the one or more processors areconfigured to calculate the estimated of the number of bits that are tobe generated for the spatial component given a code book correspondingto the target bit rate.
 22. The device of claim 19, wherein the one ormore processors are configured to calculate the estimated of the numberof bits that are to be generated for the spatial component given acoding mode used when compressing the spatial component.
 23. The deviceof claim 19, wherein the one or more processors are configured tocalculate a first estimate of the number of bits that are to begenerated for the spatial component given a first coding mode to be usedwhen compressing the spatial component, calculate a second estimate ofthe number of bits that are to be generated for the spatial componentgiven a second coding mode to be used when compressing the spatialcomponent, select the one of the first estimate and the second estimatehaving a least number of bits to be used as the determined estimate ofthe number of bits.
 24. The device of claim 19, wherein the one or moreprocessors are configured to identify a category identifier identifyinga category to which the spatial component corresponds, identify a bitlength of a residual value for the spatial component that would resultwhen compressing the spatial component corresponding to the category,and determine the estimate of the number of bits by, at least in part,adding a number of bits used to represent the category identifier to thebit length of the residual value.
 25. The device of claim 17, whereinthe one or more processors are further configured to select one of aplurality of code books to be used when compressing the spatialcomponent.
 26. The device of claim 25, wherein the one or moreprocessors are further configured to determine an estimate of a numberof bits used to represent the spatial component using each of theplurality of code books, and select the one of the plurality of codebooks that resulted in the determined estimate having the least numberof bits.
 27. The device of claim 25, wherein the one or more processorsare further configured to determine an estimate of a number of bits usedto represent the spatial component using one or more of the plurality ofcode books, the one or more of the plurality of code books selectedbased on an order of elements of the spatial component to be compressedrelative to other elements of the spatial component.
 28. The device ofclaim 25, wherein the one or more processors are further configured todetermine an estimate of a number of bits used to represent the spatialcomponent using one of the plurality of code books designed to be usedwhen the spatial component is not predicted from a subsequent spatialcomponent.
 29. The device of claim 25, wherein the one or moreprocessors are further configured to determine an estimate of a numberof bits used to represent the spatial component using one of theplurality of code books designed to be used when the spatial componentis predicted from a subsequent spatial component.
 30. The device ofclaim 25, wherein the one or more processors are further configured todetermine an estimate of a number of bits used to represent the spatialcomponent using one of the plurality of code books designed to be usedwhen the spatial component is representative of a synthetic audio objectin the sound field.
 31. The device of claim 25, wherein the syntheticaudio object comprises a pulse code modulated (PCM) audio object. 32.The device of claim 25, wherein the one or more processors are furtherconfigured to determine an estimate of a number of bits used torepresent the spatial component using one of the plurality of code booksdesigned to be used when the spatial component is representative of arecorded audio object in the sound field.
 33. A device comprising: meansfor determining a quantization step size to be used when compressing aspatial component of a sound field, the spatial component generated byperforming a vector based synthesis with respect to a plurality ofspherical harmonic coefficients; and means for storing the quantizationstep size.
 34. A non-transitory computer-readable storage medium havingstored thereon instructions that when executed cause one or moreprocessors to: determine a quantization step size to be used whencompressing a spatial component of a sound field, the spatial componentgenerated by performing a vector based synthesis with respect to aplurality of spherical harmonic coefficients.